\begin{slide}{Typprüfungen}

\begin{itemize}
\item
  Typen bei Argumentübergabe und Resultatrückgabe
  müssen \emph{passen}.
\item
  vgl. Diskussion bei Variablen
  (Initialisierung, Zuweisung).
\item
  \begin{itemize}
  \item
    Namensgleichheit
  \item
    Konvertierbarkeit (long $\to$ double? usw.)
  \item
    Instantiierung einer Typschablone
  \end{itemize}
\end{itemize}

\end{slide}

\begin{slide}{Generische Polymorphie}

generische Methode:
\begin{verbatim}
static <E> int length (Collection<E> c) {
  int n = 0; for (E x : c) {n++}; return n;
}
\end{verbatim}
hierbei ist $E$ eine Typvariable

Bei Benutzung
\begin{verbatim}
Collection<String> text =
    Arrays.asList (new String [] { "foo", "bar" });
System.out.println (length (text));
\end{verbatim}
wird Typvariable instantiiert
(durch einen konkreten Typ ersetzt).


\end{slide}

%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "~/edu/ws06/pps/folien/pps"
%%% End: 
