|
|
Übung 9
Übung 11
Ü B U N G 10
(Die Lösungen gibt es auf der linken Seite dieser Seite zum Download!)
Aufgabe 1
Eine Person enthält folgende Attribute:
- Vorname
- Name
- Geburtsdatum
Implementieren Sie eine Klasse Person in Java, in welcher die
oben genannten Attribute umgesetzt werden. Implementieren Sie eine
Methode, um eine Person auf der Standardausgabe als Text ausgeben zu
lassen!
Aufgabe 2 - Vererbung
Ein Student ist eine Person, allerdings mit folgenden
Erweiterungen:
- Eine Matrikelnummer, die für jeden Studenten automatisch
vergeben werden soll (Start bei 9000001)
- Ein Student besitzt einen Notenspiegel, in dem die Noten für
10 Prüfungen festgehalten werden.
Implementieren Sie eine Klasse Student in Java. Dabei müssen Sie
geeignete Methoden implementieren, um Prüfungen ablegen und den
Notenspiegel ausdrucken zu können.
Folgende Klasse können Sie zum Testen Ihrer Implementierung
benutzen: Download der Lösung (StudentTest.java)
Die Ausgabe sollte wie folgt aussehen: Name: Michael Meier
Geburtsdatum: 01.06.1978
Matrikelnummer: 9000001
Name: Dirk Mustermann
Geburtsdatum: 17.05.1980
Matrikelnummer: 9000002
Name: Thomas Schmidt
Geburtsdatum: 20.01.1977
Name: Michael Meier
Geburtsdatum: 01.06.1978
Matrikelnummer: 9000001
Prüfung 2: 1.3
Prüfung 3: 2.3
Prüfung 8: 3.0
Name: Dirk Mustermann
Geburtsdatum: 17.05.1980
Matrikelnummer: 9000002
Prüfung 9: 2.0
Vererbung und CastingEs soll ein
einfaches Bibliotheks-Programm zur Vewaltung von Büchern und
Zeitschriften erstellt werden. Eine Vorlage für eine Klasse
Buch finden Sie hier
Für eine Zeitschrift speichern Sie wie beim
Buch die folgenden Informationen ab:
- der Titel und der Verlag (alles Strings)
- das Erscheinungsjahr (eine ganze Zahl)
- die Regalnummer und die Regalposition (beides ganze Zahlen)
Der Autor ist für eine Zeitschrift
uninteressant, er fällt also weg. Für eine Zeitschrift
braucht man dafür zusätzlich die folgenden Informationen:
- die Zeitschriftnummer (ganze Zahl)
- das Inhaltsverzeichnis (ein String)
Aufgabe 3
Entwickeln Sie eine zusätzliche Klasse Medium, die
die Gemeinsamkeiten von Buch und Zeitschrift
implementiert. Beachten Sie, daß Daten und Methoden zu diesen
Gemeinsamkeiten gehören.
Download der Lösung (Medium.java)
Aufgabe 4
Schreiben Sie die Klasse Buch um. Leiten Sie
Buch von der in Aufgabe 1 implementierten Klasse ab.
Passen Sie die Daten, den Konstruktor und die Methoden entsprechend
an. Stellen Sie sich die folgende Frage: Was wird noch benötigt und
was muß umgeschrieben werden?
Download der Lösung (Buch.java)
Aufgabe 5
Implementieren Sie die Klasse Zeitschrift. Leiten
Sie auch diese Klasse von der in Aufgabe 1 implementierten Klasse
Medium ab. Der Konstruktor der Klasse
Zeitschrift hat vier Parameter: den Titel der
Zeitschrift, die Zeitschriftnummer, das Erscheinungsjahr und den
Verlag.
Implementieren Sie zum Setzen des Inhaltsverzeichnis
eine entsprechende Methode. Auch die Klasse Zeitschrift
hat eine Methode print(), die die Informationen der
Zeitschrift ausgibt.
Denken Sie auch daran, für alle Klassen
die Methode toString() zu implementieren.
Download der Lösung (Zeitschrift.java)
Aufgabe 6
Legen Sie im Hauptprogramm je ein Buch und eine Zeitschrift an.
Setzen Sie die zusätzlich benötigten Daten. Geben Sie die
Informationen des Buches und der Zeitschrift aus. Benutzen Sie die
entsprechenden Methoden der Klasse Buch und
Zeitschrift und der Klasse aus Aufgabe 1.
Zusatzaufgabe
Schreiben Sie eine Klasse Bibliothek, die einen
Bestand an Medien besitzt. Eine Bibliothek besitze ein maximales
Fassungsvermögen, d.h. die Anzahl an Büchern und Zeitschriften ist
auf eine bestimmte Zahl begrenzt. Eine Bibliothek soll
außerdem die Anzahl der Bücher und die Anzahl Zeitschriften
speichern, die sie tatsächlich enthält.
Es soll eine Methode
zum Aufnehmen eines neuen Mediums in den Bestand der Bibliothek
implementiert werden, sowie eine Methode, die das jeweils zuletzt
aufgenommene Medium wieder aus dem Bestand entfernt (auch wenn das
in der Praxis eher uninteressant ist).
Außerdem soll es
möglich sein, über eine Methode print() sämtliche Medien,
die die Bibliothek enthält, auf dem Bildschirm
auszugeben.
Legen Sie eine neue Bibliothek an und nehmen Sie
Beispiel-Medien in den Bestand auf. Dann lassen Sie sich den Bestand
auf dem Bildschirm ausgeben. Testen Sie anschließend ihre Methode
zum Entfernen von Medien.
| |