Betrachten Sie diese beiden Klassen und die Art und Weise, wie die Instanzen erstellt werden:
class Person1(val name: String)
val p1 = new Person1("John");
und:
abstract class Person2 {
val name: String
}
val p2 = new Person2 {
val name = "John"
}
Warum sollte man Letzteres bevorzugen ( Person2
) Version? Jede solche Deklaration führt dazu, dass eine neue Unterklasse erstellt wird, außerdem ist der Code etwas ausführlicher und weniger lesbar, aber das zweite Idiom wird im gesamten Programmieren in Scala Buch mehrere Male. Was sind die Vorteile gegenüber dem reinen Feld?