\begin{slide}{Abstrakte Datentypen, Beispiel \emph{Abbildung}}

Schnittstelle (ohne Implementierung),
beschreibt Operationen und zugesicherte Eigenschaften
\begin{verbatim}
interface Map<K,V>  {
    void put (K key, V value);
    V get (K key);
}
\end{verbatim}
Eigenschaften: z. B.
\begin{verbatim}
nach m.put (k, v)  gilt  m.get(k) == v
\end{verbatim}
\end{slide}

\begin{slide}{Konkrete Datentypen}

\emph{konkreter Datentyp} (Klasse) beschreibt Implementierung:
\begin{verbatim}
class TreeMap<K,V> implements Map<K,V> { ... };
class HashMap<K,V> implements Map<K,V> { ... };
\end{verbatim}

Abstrakte und konkrete Datentypen im Java Collections Framework:

\url{http://java.sun.com/j2se/1.5.0/docs/guide/collections/index.html}


wesentliche Bestandteile:
\begin{itemize}
\item Mengen
\item Abbildungen
\end{itemize}

\end{slide}
