Warum ist "abstraktes Überschreiben" erforderlich und nicht "Überschreiben" allein in der Subtraktion?
Ich lese dasSektion der Programmierung in Scala woabstract override
wird vorgestellt, aber ich bin immer noch verwirrt darüber, was genau durch das Zusammenfügen dieser Modifikatoren angezeigt wird. Das Code-Snippet, in dem diese Modifikatoren verwendet werden, wird unten eingefügt:
trait Doubling extends IntQueue {
abstract override def put(x: Int) { super.put(2 * x) }
}
Insbesondere bin ich verwirrt über den Zweck vonabstract
in diesem Fall und warum wir die erwarteten Ergebnisse nicht einfach mit dem erreichen könnenoverride
Stichwort. Wenn wir keinen Anruf zu enthaltensuper
Würden wir das Schlüsselwort brauchen?abstract
? Warum oder warum nicht? Ich suche nach einer detaillierten Erklärung für diese Keyword-Kombination, da sie sich auf stapelbare Merkmale bezieht.