\documentclass{handout} \setlength\parindent{0pt} \begin{document} \textbf{AUFGABE 0:} Mache dich kurz mit dem Projekt Tierheim in der Online-IDE vertraut. \\ Wie wird das Konzept der Vererbung im Code realisiert? \\[5mm] Wie wird der Konstruktor der Klasse Katze implementiert? \\[5mm] Welche Objekte sind bereits vorhanden? Führe das Programm aus. \\[5mm] \textbf{AUFGABE 1:} Überlege dir wie du unterschiedliche Tiere im Tierheim speicherst und setze deine Überlegung um. \\ Welches Referenzattribut benötigt die Klasse Tierheim? \\[5mm] \textbf{AUFGABE 2:} Begründe warum Pluto (Objekt der Klasse Hund) nicht ins Tierheim aufgenommen werden kann. \\[5mm] \begin{multicols}{2} \begin{tikzpicture}[scale=0.45] \begin{object}[text width=3.5cm]{th1}{0,0.5} \instanceOf{Tierheim} \attribute{tiere[0]} \attribute{tiere[1]} \attribute{...} \end{object} \begin{object}[text width=4cm]{h1}{12,0} \instanceOf{Tier} \attribute{name="Wolle"} \attribute{geschlecht="ungewiss"} \end{object} \begin{object}[text width=4cm]{t1}{12,5} \instanceOf{Hund} \attribute{name="Pluto" } \attribute{geschlecht="maennlich"} \attribute{rasse="comic"} \end{object} \node[fill=black, circle, minimum size=0.05cm] (circle) at (2.2, -1.4) {}; \draw[line width=2pt, -latex, draw=blue!80] (circle) edge [bend left=30] (8, 4.5) {}; \node[fill=black, circle, minimum size=0.05cm] (circle2) at (2.2, -2.35) {}; \draw[line width=2pt, -latex, draw=red!80] (circle2) edge [bend right=15] (8, -0.5) {}; \end{tikzpicture} \columnbreak Polymorphismus \textit{ist die Eigenschaft, dass ein \textbf{Referenzattribut} nicht nur Objekte der als Datentyp angegebenen Klasse referenzieren kann, sondern auch Objekte \textbf{aller} zu dieser Klasse existierenden \textbf{Unterklassen}.} \textit{Wird ein Objekt einer \textbf{Unterklasse} über dieses Referenzattribut referenziert, so werden Attribute und Methoden verwendet, wie sie in \textbf{seiner Klasse} bekannt sind (und nicht die überschriebenen Methoden der Oberklasse).} \end{multicols} \textbf{AUFGABE 3:} Vervollständige die Klasse Hund als Spezialisierung der Klasse Tier. \textbf{AUFGABE 4:} Implementiere die Methode \texttt{Tierheim.besuchen()} und überlege dir welche Ausgaben das Programm machen wird. Überprüfe deine Vermutung in dem du das Programm ausführst. \end{document}