12.01.2014 Aufrufe

2-up - ETH Zürich

2-up - ETH Zürich

2-up - ETH Zürich

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Mehrfachvererbung<br />

• Zweck: „mix in“; Verheiraten mehrerer Konzepte<br />

• Beispiel: geometrische Formen eines Zeichenprogramms:<br />

• Dabei soll „gefülltes Quadrat“ Methoden und Attribute von<br />

mehreren Klassen erben können<br />

• Ist keine Baumstruktur, sondern ein gerichteter azyklischer Graph!<br />

311<br />

Probleme der Mehrfachvererbung<br />

• Gleich benannte Attribute in verschiedenen<br />

Vorgängerklassen: welches davon wird geerbt?<br />

• Problem oft nicht zu vermeiden, da Vorgängerklassen von<br />

verschiedenen Entwicklern realisiert wurden<br />

• Daher Mechanismen zur „Konfliktauflösung“ notwendig<br />

(z.B. beim Erben umbenennen; Angabe, welche davon man<br />

erben möchte; Vorrangregeln für den Konfliktfall etc.)<br />

• Keine Mehrfachvererbung bei Java! (Im Gegensatz zu C++)<br />

• Um Sprache einfach zu halten<br />

• Als teilweisen Ersatz dafür dienen bei Java die „Interfaces“<br />

312<br />

132

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!