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 () { ... }
}
Korrektheit von D abhängig von Implementierung von C

object-orientation is, by its very nature, anti-modular ...

http://existentialtype.wordpress.com/2011/03/15/teaching-fp-to-freshmen/



Johannes Waldmann 2013-01-28