4 Objektorientierte Programmierung / UML
1 Klassen und Instanzen
Definieren Sie kurz die Begriffe "Klasse", "Methode" und "Instanz" und geben Sie jeweils ein Beispiel.
2 Klassendiagramm
Empfehlung: Lesen Sie Eckel, Kap.1!
Zeichnen Sie ein UML-Klassendiagramm, in dem Sie folgende Verhältnisse sowie weitere, Ihnen sinnvoll erscheinende, darstellen.
Verwenden Sie die Relationen "aggregates" und "generalizes".
Es gibt Universitäten, welche Fakultäten, einen Rektor, eine Verwaltung und mindestens einen Campus haben. Jede Fakultät hat eine Reihe von Instituten und einen Dekan. Alle hier beschriebenen Einheiten haben natürlich auch Namen (vom Typ "string").
Überlegen Sie sich, welche Einheiten zu den Instituten gehören sollten.
Der Verwaltung und jedem Institut sollten Sie Gebäude zuordnen, welche jeweils eine Gebäudenummer und eine Anschrift (string) besitzen.
Verwaltung und Institute können Leute einstellen.
Denken Sie daran, dass es "Menschen" gibt, welche einen Namen und eine Angestellten-Kennung bzw. Immatrikulations-Nummer haben.
Extra: Objektorientiertes Programmieren in C++ kennt Zeiger. Überlegen Sie sich, ob es nicht sinnvoll ist, nicht alle Angestellten in der Verwaltungsklasse zu verwalten und in den Instituten nur Zeiger aufzubewahren.
Hinweis: Stellen Sie Mengen von Objekten als set<Typ> dar, zum Beispiel eine Menge von Menschen als set<Mensch>. Der Typ kann (z.B. für Zeiger) auch komplexer sein.
Zeichnen Sie das Klassendiagramm mit einem Programm ihrer Wahl. (Metamill ist recht einfach und praktisch). Reichen Sie bitte ein großes Diagramm im GIF-Format per E-Mail ein (maximal 200 KB !) - oder geben Sie einfach ein Stück Papier ab.
Abgabetermin: Montag, 21. Mai, 16.00 Uhr.