Skip to content

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.

Buecherregal
BuecherregalUML

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

  1. In der Klasse Buch müssen noch Getter und Setter für einige Attribute ergänzt werden: gibTitel, gibSeiten, gibEmpfohlen und setzeEmpfohlen. Orientiere dich an den Gettern und Settern, die sich bereits in der Klasse finden.
  2. In der Klasse Buchregal ist die Methode zaehleBuecherVonAutor bereits implementiert. Kommentiere diese Methode zeilenweise. Erkläre insbesondere, warum in der if-Verzweigung mit equals statt mit == gearbeitet wird.
  3. Erläutere die Bedeutung der if-Verzweigung in den Methoden leiheBuchAus und
    bringeBuchZurueck in der Klasse Buchregal.
  4. Implementiere die fehlenden Methoden. Es bietet sich die folgende Reihenfolge (leicht zu schwer) an: zaehleVerfuegbareBuecher, zaehleGesamtseiten, gibTitelVomLaengstenBuch.
  5. Implementiere auch die Methoden empfehleBuch, leiheAlleEmpfohlenenBuecherAus und bringeAlleBuecherZurueck. Um sehen zu können, welche Bücher empfohlen sind, solltest du deine setzeEmpfohlen-Methode der Klasse Buch noch so anpassen, dass die Farbe des Beschriftungsfeld auf rot gesetzt wird. Du kannst dich an dem Vorgehen der Methode setzeAusgeliehen orientieren