Objektorientierte Programmierung
LVA 185.162, VL 2.0, 2004 W

8. Übungsaufgabe

Thema:

Gebundene Generizität

Termine:

Ausgabe: 02.12.2004
reguläre Abgabe: 09.12.2004, 12:45 Uhr
nachträgliche Abgabe: 16.12.2004, 12:45 Uhr

Abgabeverzeichnis:

Aufgabe08

Programmaufruf:

java Test

Grundlage:

Skriptum bis Seite 113

Aufgabe:

Erweitern Sie Ihre Lösung der 7. Aufgabe folgendermaßen: Benötigt wird eine Datensammlung sortierbaren Inhalts. Der Typ des Inhalts soll durch einen Typparameter festgelegt werden. Neben contains(x), insert(x) und remove(x) soll auch die Methode removeGreater(x) unterstützt werden, die alle Vorkommen der Elemente größer x (nach der auf den Elementen definierten Sortierung) aus der Datensammlung entfernt. Als sortierbar werden nur Objekte angesehen, die eine Boolesche Methode lessThan(y) unterstützen. Achten Sie darauf, welchen Typ y hat.

Implementieren Sie weiters eine abstrakte Klasse (oder ein Interface) Computer mit den beiden Unterklassen Laptop und Desktop. Für jede Instanz dieser Klassen soll die Laufzeit eines nicht näher definierten Benchmark-Programms angegeben sein -- niedriger ist besser. Alle Computer sollen mittels lessThan nach dieser Laufzeit sortierbar sein. Jeder Laptop soll zusätzlich Zugriff auf sein Gewicht und jeder Desktop auf seinen Lärmpegel bieten.

Schreiben Sie auch eine einfache, nicht interaktive Klasse Test zum Testen Ihrer Lösung. Die Testklasse soll

  1. je eine Datensammlung von Laptops und Desktops erzeugen,
  2. aus jeder dieser Datensammlungen mittels removeGreater einige Elemente löschen,
  3. das durchschnittliche Gewicht der verbleibenden Laptops und den durchschnittlichen Lärmpegel der verbleibenden Desktops berechnen und
  4. eine neue Datensammlung von Computern erzeugen, welche die in den beiden anderen Datensammlungen verbliebenen Laptops und Desktops enthält.

Lesen Sie das Skriptum bis Seite 113. Verwenden Sie Generizität und Iteratoren überall dort, wo es Ihnen sinnvoll erscheint. Achten Sie darauf, dass Ihre Testklasse alle relevanten Aktionen und Daten am Bildschirm ausgibt. Vergessen Sie nicht auf Zusicherungen als Kommentare.

Stellen Sie Ihre Lösung in den Ordner Aufgabe08 in Ihrem Gruppen-Verzeichnis auf dem Übungsrechner. Das Testprogramm soll vom Ordner Aufgabe08 aus durch java Test aufrufbar sein. Der Ordner soll zum Zeitpunkt der Abgabe (9.12.2004, 12:45 Uhr) und der nachträglichen Abgabe (16.12.2004, 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
nächste Aufgabe
Fakultät für Informatik
Technische Universität Wien
Anfang | HTML 4.01 | Datenschutzerklärung | letzte Änderung: 2004-12-02 (Puntigam)