1. Gegeben ist folgendes Klassendiagramm.
Abb. G.1: Klassendiagramm
a) Codieren Sie die abgebildeten Klassen und deren Beziehungen mit PHP. Bitte
speichern Sie alles gemeinsam in der Datei Klassendiagramm.php. Codieren Sie
– sofern im Klassendiagramm angegeben – Konstruktoren sowie Getter- und
Setter-Methoden. Achten Sie bitte darauf, dass Sie nur das codieren, was im
Diagramm angegeben ist. Berücksichtigen Sie durchgängig starke Typisierung.
b) Erzeugen Sie von jeder Klasse eine Instanz und geben Sie sie mit var_dump()
aus. Das Ergebnis sollte im Seitenquelltext aussehen wie auf der folgenden
Abbildung.
Die abgeleitete Klasse Mitarbeiter aus dem Klassendiagramm in der Aufgabe 1
hat drei Eigenschaften, aber keine Methoden, um deren Werte zu lesen oder zu
schreiben. Programmieren Sie in einer Datei mitarbeiter.php entsprechende Getterund
Setter-Methoden für die drei Attribute. Erzeugen Sie ein Objekt der Klasse
Mitarbeiter und setzen Sie alle neuen Methoden mindestens einmal ein.
Planen und programmieren Sie eine Klasse Konto. Alle Attribute der Klasse sind
private, alle Methoden public. Die Attribute sind kontonummer, kontostand
und kontoinhaber. Wählen Sie sinnvolle Datentypen für die Eigenschaften und
entsprechend auch für die Parameter und Rückgabewerte der Methoden. Der Name
des Kontoinhabers, der Anfangskontostand und die Kontonummer sollen durch den
Konstruktor gesetzt werden. Die Klasse benötigt mindestens Getter-Methoden für
alle Attribute und zwei Methoden zum Buchen – eine zum Abheben und eine zum
Einzahlen. Stellen Sie sicher, dass Abhebungen immer nur im Guthabenbereich
erfolgen können. Beide Methoden zum Buchen sollen eine Erfolgsmeldung zurückliefern.
Berücksichtigen Sie durchgängig starke Typisierung.
a) Erstellen Sie ein UML-Klassendiagramm für die Klasse Konto. 15 Pkt.
b) Codieren Sie die Klasse Konto. Speichern Sie sie in der Datei konto.class.php.
25 Pkt.
c) Erstellen Sie in der Datei konto.php ein PHP-Skript, das unter Verwendung der
Klasse Konto mindestens ein Objekt erzeugt, einige Buchungen tätigt und entsprechende
Ergebnisse ausgibt.