Vererbung bricht Kapselung

class C { 
   void p () { ... q(); ...  }; 
   void q () { .. };
}
Jetzt wird q überschrieben (evtl. auch unabsichtlich--in Java), dadurch ändert sich das Verhalten von p.
class D extends C {
   void q () { ... }
}
Man muß beim Programmieren von D wissen, wie C.p() implementiert ist!



2010-02-04