Beim Erstellen des Quellcodes einer neuen Klasse, werden der Name, die Attribute und die Methoden der Klasse aus dem UML-Klassendiagramm übernommen.
In diesem Unterkapitel werden wir auf Grundlage des folgenden UML-Klassendiagramms (vgl. Abb. 5.1) den Quellcode der Klasse Buch erstellen.
5.1.1 Definition einer Klasse
Der Quellcode einer Klasse gliedert sich in zwei Bereiche, den Klassenkopf und den Klassenkörper1.
Im Klassenkopf leitet das Schlüsselwort class die Klassendefinition ein. Anschließend folgt der Klassenname. Außerdem kann mit Hilfe eines Zugriffsmodifikators angegeben werden, wer die Klasse verwenden darf.
Die beiden geschweiften Klammern schließen den Klassenkörper ein. Hier werden die Attribute der Klasse deklariert und ihre Methoden definiert.
Der Zugriffsmodifikator public stellt sicher, dass die hier definierte Klasse auch für Klassen, die sich nicht im gleichen Paket befinden, sichtbar und damit verwendbar ist.
5.1.2 Deklaration von Attributen
Die Deklaration eines Attributs umfasst die Bekanntgabe seines Namens und seines Datentyps. Außerdem wird mit Hilfe eines Zugriffsmodifikators festgelegt, wer direkt auf das Attribut zugreifen darf.
Die Deklaration der Attribute erfolgt üblicherweise zu Beginn des Klassenkörpers.
5.1.3 Definition von Methoden
Der Quellcode einer Methode gliedert sich in zwei Bereiche, den Methodenkopf und den Methodenkörper2.
Im Methodenkopf kann mit Hilfe eines Zugriffsmodifikators geregelt werden, wer auf die Methode zugreifen darf. Anschließend muss angegeben werden, ob die Methode eine Antwort an den Aufrufer zurückgibt. Ist dies der Fall, muss der Datentyp der möglichen Antwortwerte angegeben werden. Andernfalls zeigt das Schlüsselwort void an, dass die Methode keine Antwort zurückgibt. Abschließend folgt der Name der Methode, gefolgt von einer öffnenden und einer schließenden runden Klammer. Falls die Methode Parameter erfordert, werden diese innerhalb dieser runden Klammern deklariert.
Der Methodenkörper beziehungsweise Methodenrumpf enthält die Anweisungen, die die Methode ausführen soll, und wird durch die beiden geschweiften Klammern begrenzt.
Die Methoden werden üblicherweise im Anschluss an die Deklaration der Attribute definiert. Die Reihenfolge spielt dabei keine Rolle.
Aufgabe 5-1: Buch
Vervollständigen Sie den bisher erstellten Quellcode der Klasse Buch (vgl. Abb. 5.7) entsprechend dem folgenden UML-Klassendiagramm (vgl. Abb. 5.8).
Ein Marktforschungsinstitut lässt eine neue Software entwickeln, die alle Aktivitäten des Unternehmens im Bereich Marktuntersuchung abbildet und unterstützt.
Unter anderem wird eine Möglichkeit benötigt, alle Orte in Deutschland bezüglich der folgenden Aspekte auswerten zu können: Name, Einwohnerzahl, Kaufkraft (in EUR) und durchschnittliche Kaufkraft je Einwohner (in EUR).
Entwickeln Sie ein geeignetes UML-Klassendiagramm.
Lösung
Erstellen Sie auf Grundlage des Klassendiagramms aus Teilaufgabe a) den Quellcode.
Lösung
Aufgabe 5-3: Mitarbeiter
Sie sind Teil eines Projektteams, das eine objektorientierte Software zur Personalverwaltung entwickelt. Ihre Aufgabe besteht dabei darin, eine Möglichkeit zu schaffen, die Mitarbeiter des jeweiligen Unternehmens innerhalb der Software abzubilden.
Nehmen Sie vereinfachend an, dass für jeden Mitarbeiter lediglich Vor- und Nachname, Monatsgehalt sowie die Anzahl der jährlich zustehenden Urlaubstage erfasst werden sollen. Außerdem soll es möglich sein, neben dem Monatsgehalt auch das Jahresgehalt eines Mitarbeiters abzufragen.
Entwickeln Sie ein geeignetes UML-Klassendiagramm.
Lösung
Erstellen Sie auf Grundlage des Klassendiagramms aus Teilaufgabe a) den Quellcode.
Lösung
Aufgabe 5-4: Szenario – „blinken in allen Farben“
Ziel des dritten Szenarios ist es, dass ein weißer Roboter von Feld (1;1) aus startet und mit einer Geschwindigkeit von 2 das Zielfeld erreicht. Dabei soll der Roboter jedes Mal, wenn er auf seinem Weg ein Eckfeld – (3;1), (3;3), (1;3) – erreicht, nacheinander rot, gelb und blau aufleuchten, bevor er wieder weiß wird und den Weg fortsetzt. Nutzen Sie für die Zuweisung einer neuen Farbe jeweils die Methode setFarbe(pFarbe: String) der Klasse Roboter.
Erstellen Sie mit dem Editor das Spielbrett s3 und passen Sie den Quellcode der Klasse Szenario entsprechend an.
Um nicht jedes Mal, wenn der Roboter blinken soll, alle dafür notwendigen Anweisungen erneut notieren zu müssen, ist es sinnvoll diese Anweisungen in eine eigene Methode auszulagern. Erstellen Sie dazu in der Klasse Szenario die Methode blinken() und kopieren Sie die betreffenden Anweisungen in die Methode. Passen Sie den Quellcode der Methode steuereRobi() dann so an, dass an den Stellen, an denen der Farbwechsel erfolgen soll, die Methode blinken() aufgerufen wird. Klären Sie, ob die Methode blinken() öffentlich sein muss oder es ausreicht, wenn sie als privat deklariert ist.