Objektorientierte Programmierung
LVA 185.162, VL 2.0, 2005 W

9. Übungsaufgabe

Themen:

Dynamische Typvergleiche, Typumwandlungen

Termine:

Ausgabe: 15.12.2005
reguläre Abgabe: 12.01.2006, 12:45 Uhr
nachträgliche Abgabe: 19.01.2006, 12:45 Uhr

Abgabeverzeichnis:

Aufgabe9

Programmaufruf:

java Test

Grundlage:

Skriptum bis Seite 126.

Aufgabe:

Ändern Sie die Lösung der 8. Übungsaufgabe so ab, dass Sie ohne Verwendung von Generizität auskommen. Verwenden Sie Ihre generische Lösung als Ausgangspunkt, und führen Sie die Übersetzung in Java-Code ohne Generizität händisch durch - wie im Skriptum bis Seite 126 beschrieben. Nehmen Sie dabei keine inhaltlichen Änderungen am Programm vor.

Erweitern Sie danach Monitor (und die Unterklassen davon) um folgende Vergleichsmethode: Die Methode specificGreater(y) soll den impliziten Parameter this mit dem im expliziten Parameter y spezifizierten Monitor vergleichen. Werden dabei zwei Instanzen von CRCMonitor verglichen, soll specificGreater genau dann true liefern, wenn this einen größeren Stromverbrauch als y hat. Ein Vergleich von zwei Instanzen von LCDDisplay soll true liefern, wenn this eine größere Auflösung als y hat. Die Methode soll false liefern, wenn this und y von unterschiedlichen Klassen sind. Die Lösung soll auch noch funktionieren, wenn weitere Arten von Monitoren dazu kommen, wobei Vergleiche von Instanzen unterschiedlicher Klassen niemals true liefern dürfen. Erweitern Sie die Testklasse aus der vorigen Übungsaufgabe um geeignete Testfälle zur Überprüfung der neuen Funktionalität. Vergessen Sie nicht auf Zusicherungen als Kommentare.

Schreiben Sie Ihre Lösung in den bereits existierenden Ordner Aufgabe9 in Ihrem Verzeichnis auf dem Übungsrechner b3. Das Programm soll von diesem Ordner aus durch java Test aufrufbar sein; das heißt, die Methode main soll in der Klasse Test in der Datei Test.java (die Sie selbst schreiben) stehen. Schreiben Sie nicht mehr als eine Klasse in jede Datei. Der Ordner soll zum Zeitpunkt der Abgabe (12.01.2006, 12:45 Uhr) und der nachträglichen Abgabe (19.01.2006, 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. Dateien mit anderen Endungen werden bei der Beurteilung nicht berücksichtigt. Verzichten Sie auf die Verwendung von Ordnern innerhalb von Aufgabe9.

Hinweise zur Beurteilung:

Beurteilt wird (neben der Funktionsfähigkeit der Erweiterung) hauptsächlich die richtige Übersetzung von generischen in nicht-generische Klassen und die richtige Verwendung von Typumwandlungen und dynamischen Typvergleichen. Kräftige Punkteabzüge gibt es für Daneben werden wie immer Zusicherungen in Form von Kommentaren und die Verwendung geeigneter Testfälle (geringer gewichtete) Schwerpunkte in der Beurteilung bilden.
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
            OOP
               Laborübung
               1. Aufgabe
               2. Aufgabe
               3. Aufgabe
               4. Aufgabe
               5. Aufgabe
               6. Aufgabe
               7. Aufgabe
               8. Aufgabe
               9. Aufgabe
            Typsysteme
            Seminar, WA
         LVAs 2005 S
         LVAs 2004 W
         LVAs 2004 S
         LVAs 2003 W
   Links
Sitemap
Kontakt
Schnellzugriff:
Laborübung
Tutoren
Skriptum
Folien
Aufgaben
vorige Aufgabe
Fakultät für Informatik
Technische Universität Wien
Anfang | HTML 4.01 | Datenschutzerklärung | letzte Änderung: 2005-12-15 (Puntigam)