\begin{slide}{Kompositum - Aufgabe}

verschiedene (auch zusammengesetzte) geometrische Objekte



\end{slide}

\begin{slide}{ohne Entwurfsmuster:}
\begin{verbatim}
class Geo {
    int type; // Kreis, Quadrat, 
    Geo teil1, teil2; // falls Teilobjekte
    int ul, ur, ol, or; // unten links, ...
    void draw () {
        if (type == 0) { ... } // Kreis
        else if (type == 1) { ... } // Quadrat
}   }
\end{verbatim}
Finde wenigstens sieben (Entwurfs-)Fehler
und ihre wahrscheinlichen Auswirkungen\dots

(später: \emph{code smells $\to$ refactoring})
\end{slide}

\begin{slide}{Kompositum - Anwendung}
\begin{verbatim}
interface Geo {
    Box bounds ();
    Geo [] teile ();
    void draw ();
}
class Kreis implements Geo { .. }
class Neben implements Geo {
    Neben (Geo links, Geo Rechts) { .. }
}
\end{verbatim}
  

\end{slide}
