4.6 Übung: Bücherregal
Im folgenden Projekt soll ein Bücherregal simuliert werden. Dazu werden zwei Klassen genutzt, die im folgenden UML-Diagramm mit ihren Attributen und Methoden dargestellt werden. In der Klasse Buchregal
wird ein Array von Objekten der Klasse Buch
verwaltet. In der Klasse Buch
werden der Autor, der Titel und die Anzahl der Seiten gespeichert. Zusätzlich kann gespeichert werden, ob ein Buch ausgeliehen ist oder empfohlen wurde. In der Klasse Buch
ist auch die graphische Ausgabe der Bücher implementiert.


Die Methoden der Klasse Buch
werden nicht näher beschrieben. Es handelt sich um Getter und Setter zu den jeweiligen Attributen. Die Methoden der Klasse Buchregal
lassen sich wie folgt beschreiben:
zaehleBuecherVonAutor
Es wird die Anzahl der Bücher zurückgegeben, die als Autor pName
eingetragen haben.
zaehleGesamtseiten
Es wird Summe der Seiten aller Bücher zurückgegeben.
gibTitelVomLaengstenBuch
Es wird der Titel des Buches zurückgegeben, das die meisten Seiten hat.
leiheBuchAus
Das nr-te Buch im Array wird ausgeliehen.
bringeBuchZurueck
Das nr-te Buch im Array wird zurückgegeben.
bringeAlleBuecherZurueck
Alle Bücher werden zurückgegeben.
zaehleVerfuegbareBuecher
Es wird die Anzahl der Bücher zurückgegeben, die nicht ausgeliehen sind.
empfehleBuch
Das Buch mit dem Titel pTitel
wird empfohlen.
leiheAlleEmpfohlenenBuecherAus
Alle Bücher, die empfohlen sind, werden ausgeliehen.
Aufgaben
- In der Klasse
Buch
müssen noch Getter und Setter für einige Attribute ergänzt werden:gibTitel
,gibSeiten
,gibEmpfohlen
undsetzeEmpfohlen
. Orientiere dich an den Gettern und Settern, die sich bereits in der Klasse finden. - In der Klasse
Buchregal
ist die MethodezaehleBuecherVonAutor
bereits implementiert. Kommentiere diese Methode zeilenweise. Erkläre insbesondere, warum in derif
-Verzweigung mitequals
statt mit == gearbeitet wird. - Erläutere die Bedeutung der
if
-Verzweigung in den MethodenleiheBuchAus
undbringeBuchZurueck
in der KlasseBuchregal
. - Implementiere die fehlenden Methoden. Es bietet sich die folgende Reihenfolge (leicht zu schwer) an:
zaehleVerfuegbareBuecher
,zaehleGesamtseiten
,gibTitelVomLaengstenBuch
. - Implementiere auch die Methoden
empfehleBuch
,leiheAlleEmpfohlenenBuecherAus
undbringeAlleBuecherZurueck
. Um sehen zu können, welche Bücher empfohlen sind, solltest du deinesetzeEmpfohlen
-Methode der Klasse Buch noch so anpassen, dass die Farbe des Beschriftungsfeld auf rot gesetzt wird. Du kannst dich an dem Vorgehen der MethodesetzeAusgeliehen
orientieren