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
|
| |
Komposition, Benutzung
|
|
black-box Wiederverwendung
|
in der benutzenden Klasse sind nur die nach außen sichtbaren
Eigenschaften der benutzten Klasse bekannt.
|
| |
flexibel
|
|
|
die benutzte Klasse kann wieder eine abstrakte Klassen sein
|
|
die konkrete Implementierung kann dynamisch geändert werden
|
| |
stabil
|
|
|
interne Struktur der benutzten Klasse
kann gefahrlos modifiziert werden
|
| |
|
Objektkomposition ist allgemeiner als Klassenvererbung
|
| |
Delegation
|
Weiterreichen der Operationen an die Komponente(n)
|
|
Performanceverlust
bei wiederholter Delegation
|
|
Delegation führt eine Indirektstufe ein
|
|
gut, wenn dies benötigt wird: Flexibilität
|
|
schlecht, wenn diese unnötig ist: Performance
|
| |