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
  | 
  |  |