homeSoftwaredesign Softwaredesign: Vererbung <--> Komposition Prof. Dr. Uwe Schmidt FH Wedel

Vererbung <--> Komposition

weiter

weiter

Vor- und Nachteile

Klassenvererbung
white-box Wiederverwendung
alle Eigenschaften der beerbten Klasse sind in der erbenden Klasse sichtbar, auch die internen
kann in C++ durch private Vererbung verhindert werden
weiter
Komposition, Benutzung
black-box Wiederverwendung
in der benutzenden Klasse sind nur die nach außen sichtbaren Eigenschaften der benutzten Klasse bekannt.
weiter
flexibel
die benutzte Klasse kann wieder eine abstrakte Klassen sein
die konkrete Implementierung kann dynamisch geändert werden
weiter
stabil
interne Struktur der benutzten Klasse kann gefahrlos modifiziert werden
weiter
merke
Objektkomposition ist allgemeiner als Klassenvererbung
weiter
Delegation
Weiterreichen der Operationen an die Komponente(n)
merke
Performanceverlust
bei wiederholter Delegation
merke
Delegation führt eine Indirektstufe ein
gut, wenn dies benötigt wird: Flexibilität
schlecht, wenn diese unnötig ist: Performance
weiter

weiter

Veränderungen in Entwürfen

merke
vorhersehen
weiter
schlecht
Erzeugen eines Objekts unter expliziter Nennung seiner Klasse
gut
indirekte Erzeugung
weiter
schlecht
Abhängigkeiten von Software- und Hardware-Plattformen
gut
eliminieren durch
weiter
schlecht
Abhängigkeiten von der Objektrepräsentation und -implementierung
gut
verbessern durch information hiding
weiter
schlecht
Algorithmische Abhängigkeiten
gut
Trennung von Kontroll- und Verarbeitungseinheiten
Austausch von Algorithmen oder Algorithmusteilen durch
weiter
schlecht
Enge Kopplung
verhindert Wiederverwendung
gut
Delegation
Abstrakte Fabrik
Brücke
Zuständigkeitskette
Befehl
Fassade
Vermittler
Beobachter
weiter
schlecht
Funktionserweiterung durch Unterklassenbildung
Implementierungsaufwand für jede neue Unterklasse
Explosion der # der Unterklassen
gut
Objektkomposition und Delegation
weiter
schlecht
Unmöglichkeit Klassen zu ändern
fehlender Quellcode
Dominoeffekt: viele andere Klassen sind zu ändern
gut
lösen durch
weiter

Letzte Änderung: 14.05.2013
© Prof. Dr. Uwe Schmidt
Prof. Dr. Uwe Schmidt FH Wedel