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
Buchmüssen noch Getter und Setter für einige Attribute ergänzt werden:gibTitel,gibSeiten,gibEmpfohlenundsetzeEmpfohlen. Orientiere dich an den Gettern und Settern, die sich bereits in der Klasse finden. - In der Klasse
Buchregalist die MethodezaehleBuecherVonAutorbereits implementiert. Kommentiere diese Methode zeilenweise. Erkläre insbesondere, warum in derif-Verzweigung mitequalsstatt mit == gearbeitet wird. - Erläutere die Bedeutung der
if-Verzweigung in den MethodenleiheBuchAusundbringeBuchZurueckin der KlasseBuchregal. - Implementiere die fehlenden Methoden. Es bietet sich die folgende Reihenfolge (leicht zu schwer) an:
zaehleVerfuegbareBuecher,zaehleGesamtseiten,gibTitelVomLaengstenBuch. - Implementiere auch die Methoden
empfehleBuch,leiheAlleEmpfohlenenBuecherAusundbringeAlleBuecherZurueck. 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 MethodesetzeAusgeliehenorientieren