O'Reilly logo

Programmieren mit Scala by Alex Payne, Dean Wampler

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Effektives Trait-Design

Dass viele Sprachen (wie auch Java) keine Mehrfachvererbung implementieren, liegt unter anderem an den Problemen, die man im Zusammenhang mit der Mehrfachvererbung in C++ erfahren hat. Eines dieser Probleme ist der in Abbildung 13.1 dargestellte sogenannte Diamant des Todes (diamond of death).

»Diamant des Todes« in Sprachen mit Mehrfachvererbung

Abbildung 13.1 »Diamant des Todes« in Sprachen mit Mehrfachvererbung

In C++ ruft jeder Konstruktor von C einen Konstruktor von B1 und einen Konstruktor von B2 (explizit oder implizit) auf. Alle Konstruktoren von B1 und B2 rufen einen Konstruktor von A auf. Foglich können in einer naiven Implementierung der Mehrfachvererbung die Felder ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required