Ich lerne groovig und habe gerade etwas über die neue Funktion gelernt, die in 2.3 hinzugefügt wurde, nämlich das Hinzufügen von Eigenschaften . Jetzt scheint es mir, als ob Traits es Ihnen ermöglichen, im Grunde alles zu tun, was eine Superklasse und ein Interface können.
Macht das Hinzufügen von Merkmalen zu Groovy Vererbung und Schnittstellen überflüssig?
Und wenn nicht, wann ist dann der beste Zeitpunkt, um jeden dieser Mechanismen zu nutzen?
interfaces
inheritance
groovy
Ryan Stull
quelle
quelle
Antworten:
Merkmale kombinieren das Beste aus beiden Welten - die Vererbung von (abstrakten) Klassen und die Implementierung von Schnittstellen. Ein Merkmal kann Standardimplementierungen von Methoden enthalten, und dennoch kann ein Typ mehrere Merkmale gleichzeitig implementieren. Dies ermöglicht eine Art Mehrfachvererbung, aber auf eine gute Weise, um den tödlichen Diamanten des Todes zu vermeiden .
Wenn Sie nicht wissen, wie Sie anfangen sollen, verwenden Sie Merkmale. Sie gewinnen an Flexibilität und können bei Bedarf später zu Schnittstellen oder Klassenvererbung wechseln.
quelle