Objektorientierte Programmierung
LVA 185.162, VL 2.0, 2004 W
| Ausgabe: | 16.12.2004 |
| reguläre Abgabe: | 13.01.2005, 12:45 Uhr |
| nachträgliche Abgabe: | 20.01.2005, 12:45 Uhr |
frei()in der abstrakten Klasse
Laufwerk(mit den Unterklassen
CDLaufwerk,
DVDLaufwerkund
Bandlaufwerk) soll die Größe des noch freien Speichers am Speichermedium, das gerade im Laufwerk ist, zurück liefern. Die Methode
verbrauche(long n)in
Laufwerksoll die Größe des noch freien Speichers um
nreduzieren. Durch Aufruf der Methode
wechsleMedium(Medium x)in
Laufwerkwird das Speichermedium gegen ein neues ausgetauscht, wobei
Mediumeine abstrakte Klasse (oder ein Interface) ist. Konkrete Unterklassen davon sollen
CDRW,
DVDRWund
Bandsein. Jedes dieser Speichermedien wird nach dem Einlegen als frei angesehen und hat eine nur von der Art des Speichermediums abhängige Speicherkapazität. Es ist zu beachten, dass nicht jedes Speichermedium für jedes Laufwerk verwendbar ist. In
CDLaufwerksoll
wechsleMediumals Speichermedium nur
CDRWakzeptieren, in
DVDLaufwerknur
CDRWund
DVDRW, und in
Bandlaufwerknur
Band. Bei Aufruf mit einem ungeeigneten Speichermedium oder ohne Speichermedium soll die Größe des freien Speichers auf 0 gesetzt und der Aufrufer entsprechend informiert werden.
Daneben wird eine Klasse Test
benötigt, die ohne
Benutzerinteraktion Tests ausführt und Ergebnisse ausgibt. Die
Testfälle sollten Aufrufe aller Methoden von Laufwerk
enthalten
sowie Aufrufe von wechsleMedium
in allen Arten von Laufwerken mit allen
Arten von Speichermedien.
Lesen Sie das Skriptum bis Seite 143. Lösen Sie die Aufgabe ganz ohne Verwendung dynamischer Typvergleiche bzw. dynamischer Typumwandlungen. Verwenden Sie statt dessen mehrfaches dynamisches Binden (simulierte Multimethoden). Achten Sie auf die richtige Verwendung von Exceptions, Zusicherungen, Untertypbeziehungen und Vererbung.
Stellen Sie Ihre Lösung in den Ordner Aufgabe10
in Ihrem
Gruppen-Verzeichnis auf dem Übungsrechner. Das Testprogramm soll vom
Ordner Aufgabe10
aus durch java Test
aufrufbar sein. Der Ordner
soll zum Zeitpunkt der Abgabe (13.1.2005, 12:45 Uhr) und der
nachträglichen Abgabe (20.1.2005, 12:45 Uhr) alle .java-Dateien enthalten,
die Sie für Ihre Lösung benötigen. Bitte entfernen Sie alle
.java-Dateien, die nicht zur Abgabe gehören.