Objektorientierte Programmierung
LVA 185.162, VL 2.0, 2004 W

10. Übungsaufgabe

Themen:

Mehrfaches dynamisches Binden, Exceptions

Termine:

Ausgabe: 16.12.2004
reguläre Abgabe: 13.01.2005, 12:45 Uhr
nachträgliche Abgabe: 20.01.2005, 12:45 Uhr

Abgabeverzeichnis:

Aufgabe10

Programmaufruf:

java Test

Grundlage:

Skriptum bis Seite 143

Aufgabe:

Benötigt wird ein Teil einer Datensicherungsanwendung zum Umgang mit freiem Platz auf Speichermedien. Die Methode frei() in der abstrakten Klasse Laufwerk (mit den Unterklassen CDLaufwerk, DVDLaufwerk und 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 Laufwerk soll die Größe des noch freien Speichers um n reduzieren. Durch Aufruf der Methode wechsleMedium(Medium x) in Laufwerk wird das Speichermedium gegen ein neues ausgetauscht, wobei Medium eine abstrakte Klasse (oder ein Interface) ist. Konkrete Unterklassen davon sollen CDRW, DVDRW und Band sein. 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 CDLaufwerk soll wechsleMedium als Speichermedium nur CDRW akzeptieren, in DVDLaufwerk nur CDRW und DVDRW, und in Bandlaufwerk nur 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.

Complang
Puntigam
   Kontakt
   Research
   Lehre
      OOP
      Typsysteme
      EP2
      FOOP
      Prog.spr.
      frühere Lehre
         LVAs 2017 W
         LVAs 2017 S
         LVAs 2016 W
         LVAs 2016 S
         LVAs 2015 W
         LVAs 2015 S
         LVAs 2014 W
         LVAs 2014 S
         LVAs 2013 W
         LVAs 2013 S
         LVAs 2012 W
         LVAs 2012 S
         LVAs 2011 W
         LVAs 2011 S
         LVAs 2010 W
         LVAs 2010 S
         LVAs 2009 W
         LVAs 2009 S
         LVAs 2008 W
         LVAs 2008 S
         LVAs 2007 W
         LVAs 2007 S
         LVAs 2006 W
         LVAs 2006 S
         LVAs 2005 W
         LVAs 2005 S
         LVAs 2004 W
            OOP
               Laborübung
               1. Aufgabe
               2. Aufgabe
               3. Aufgabe
               4. Aufgabe
               5. Aufgabe
               6. Aufgabe
               7. Aufgabe
               8. Aufgabe
               9. Aufgabe
               10. Aufgabe
            Typsysteme
            Seminar, WA
         LVAs 2004 S
         LVAs 2003 W
   Links
Sitemap
Kontakt
Schnellzugriff:
Laborübung
Tutoren
Skriptum
Folien
alle Aufgaben
vorherige Aufgabe
Fakultät für Informatik
Technische Universität Wien
Anfang | HTML 4.01 | Datenschutzerklärung | letzte Änderung: 2004-12-16 (Puntigam)