

\begin{slide}{Vererbung bricht Kapselung}

\begin{verbatim}
class C { 
   void p () { ... q(); ...  }; 
   void q () { .. };
}
\end{verbatim}
Jetzt wird \verb|q| überschrieben
(evtl. auch unabsichtlich---in Java),
dadurch ändert sich das Verhalten von \verb|p|.
\begin{verbatim}
class D extends C {
   void q () { ... }
}
\end{verbatim}
Korrektheit von \verb|D| 
abhängig von \emph{Implementierung} von 
\verb|C|  

$\Rightarrow$ object-orientation is, 
by its very nature, anti-modular \dots

\url{http://existentialtype.wordpress.com/2011/03/15/teaching-fp-to-freshmen/}


\end{slide}
