Linearisierung der Objekthierarchie

Wenn es in Scala keine eingemischten Traits gäbe, wäre die Vererbungshierarchie wegen der einfachen Vererbung stets linear. Mit Traits, von denen jeder von anderen Traits und Klassen abgeleitet sein kann, nimmt die Vererbungshierarchie jedoch die Form eines gerichteten azyklischen Graphen an (siehe [ScalaSpec2009]). Der Begriff Linearisierung bezeichnet den Algorithmus, der zum »Flachmachen« dieses Graphen verwendet wird, damit die Priorität bei der Methodensuche, dem Aufruf von Konstruktoren, dem Binden von super usw. bestimmt werden kann.

Nebenbei haben wir im „Stapelbare Traits“ festgestellt, dass, wenn eine Instanz mehr als einen Trait hat, diese Traits in der Reihenfolge der Deklarationen von rechts nach ...

Get Programmieren mit Scala now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.