Was ist der Unterschied zwischen den verschiedenen übergeordneten Methoden in Scala?
Mit Scala können Sie eine Methode auf zwei legale Arten überschreiben:
Super Klasse gegeben:
class A {
def a = "A"
}
Wir können die Methode "a" überschreiben durch:
class B extends A {
override def a = "B"
}
und
class B extends A {
override def a() = "B"
}
beide scheinen die Methode "a" korrekt zu überschreiben. Welche gestalterische Entscheidung steckt dahinter? Warum darf "a ()" in B "a" in A überschreiben?