\begin{slide}{Vererbung}

Def: Klasse $D$ \emph{ist abgeleitet von} Klasses $C$:

\begin{itemize}
\item 
  $D$ kann Menge der 
  Attribute- und Methodendeklarationen von $C$ erweitern
  (aber nicht verkleinern oder ändern)
\item $D$ kann Implementierungen
  von in $C$ deklarierten Methoden übernehmen 
  oder eigene festlegen (überschreiben).
\end{itemize}

Anwendung: dynamische Polymorphie
\begin{itemize}
\item 
Wo ein Objekt der Basisklasse erwartet wird
(der \emph{statische Typ} eines Bezeichners
 ist $C$),
\item
kann ein Objekt einer abgeleiteten Klasse ($D$) 
benutzt werden (der \emph{dynamische Typ} 
des Wertes ist $D$).
\end{itemize}



\end{slide}
