Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| modul:archiv:m320:learningunits:lu06:aufgaben:lu07-aufgabe_4 [2026/08/30 14:06] – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | modul:archiv:m320:learningunits:lu06:aufgaben:lu07-aufgabe_4 [2026/08/30 14:10] (aktuell) – ↷ Links angepasst, weil Seiten im Wiki verschoben wurden 74.7.243.195 | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ==== Aufgabe 4 - Erweitern von Fähigkeiten und mehr ==== | ||
| + | === Ziel === | ||
| + | * Sie können aufzeigen, wie Vererbung für die Erweiterung von Fähigkeiten eingesetzt wird. | ||
| + | * Sie können aufzeigen, wie Konstruktoren in Vererbungshierarchien deklariert sein müssen. | ||
| + | === Vorbereitung=== | ||
| + | Laden Sie das Repo von github-classroom. | ||
| + | |||
| + | === Auftrag === | ||
| + | Setzen Sie das gezeigte Klassendiagramm schrittweise um.\\ | ||
| + | {{modul: | ||
| + | |||
| + | |||
| + | **Teilaufgabe 1: Klasse '' | ||
| + | Implementieren und testen Sie die Klasse '' | ||
| + | Die Methode '' | ||
| + | {{modul: | ||
| + | **Hinweise: | ||
| + | * Name, Alter und Adresse können variieren. | ||
| + | * Der Zeilenumbruch wird durch das Zeichen <color # | ||
| + | * Fügen Sie keine Leerzeichen ein, da sonst die Ausgabe nicht mit dem erwarteten Resultat übereinstimmt und in der Folge der Unit-Test einen Fehler meldet. | ||
| + | \\ | ||
| + | **Teilaufgabe 2: Klasse '' | ||
| + | Implementieren und testen Sie die Klasse '' | ||
| + | Hier müssen Sie sowohl den Konstruktor ('' | ||
| + | Die Methode '' | ||
| + | {{modul: | ||
| + | **Hinweise: | ||
| + | * Die führenden Abstände bei den 3 letzten Zeilen werden bei der Ausgabe durch 2 Tabulatorzeichen bewerkstelligt, | ||
| + | \\ | ||
| + | **Teilaufgabe 3: Klasse '' | ||
| + | Implementieren und testen Sie die Klasse '' | ||
| + | Sie müssen auch hier den in Konstruktor und '' | ||
| + | Die Methode '' | ||
| + | {{modul: | ||
| + | **Hinweise: | ||
| + | * Nach dem Namen des Kundenberaters verwenden Sie bitte ein Tabulatorzeichen, | ||
| + | \\ | ||
| + | **Teilaufgabe 4: Klasse '' | ||
| + | Implementieren und testen Sie die Klasse '' | ||
| + | Die Methode '' | ||
| + | {{modul: | ||
| + | \\ | ||
| + | **Teilaufgabe 5: Hauptprogramm (main)**\\ | ||
| + | Erstellen Sie in Der datei '' | ||
| + | Es erzeugt je ein Ojekt von '' | ||
| + | Zu jedem Objekt wird dann die '' | ||
| + | {{modul: | ||
| + | |||
| + | |||
| + | \\ | ||
| + | **Teilaufgabe 6: Klassen erweitern und Methoden überschreiben**\\ | ||
| + | Kopieren Sie das Klassendiagramm in eine Anwendung Ihrer Wahl, um dort mit der Farbe A die Methoden zu markieren, welche eine Klasse erweitern. Gibt es auch Methoden, die das Überschreiben realisieren? | ||
| + | \\ | ||
| + | **Teilaufgabe 7: OO-Technik nutzen**\\ | ||
| + | Die gezeigte Lösung ist nicht optimal. Wie aus dem Klassendiagramm (siehe Ausschnitt) ersichtlich ist, hat der Kunde ('' | ||
| + | {{modul: | ||
| + | Suchen Sie nach einer Lösung dieses Problems, das sich durch die statische Struktur der Anwendung realisieren lässt!\\ | ||
| + | Es geht also nicht darum, hier mit einem Passwort oder ähnlichen Sicherheitsmechanismen den Zugriff zu überwachen, | ||
| + | === Dauer === | ||
| + | 2-4 Stunden | ||
| + | |||
| + | === Abgabe === | ||
| + | * Teilaufgaben 1 bis 5 über github | ||
| + | * Teilaufgabe 6 und 7 als PDF in Moodle. | ||
| + | \\ | ||
| + | |||
| + | ---- | ||
| + | [[https:// | ||