Objektorientierte Programmierung
LVA 185.162, VL 2.0, 2006 W

7. Übungsaufgabe

Themen:

gebundene Generizität, Iteratoren

Termine:

Ausgabe: 07.12.2006
reguläre Abgabe: 14.12.2006, 12:45 Uhr
nachträgliche Abgabe: 21.12.2006, 12:45 Uhr

Abgabeverzeichnis:

Aufgabe7

Programmaufruf:

java Test

Grundlage:

Skriptum bis Seite 113.

Aufgabe

Welche Aufgabe zu lösen ist:

Schreiben Sie in Java Klassen bzw. Interfaces mit folgender Funktionalität:

Wie die Aufgabe zu lösen ist:

Der Schwerpunkt liegt auf der richtigen Verwendung von gebundener Generizität. Verwenden Sie keine raw types bzw. type erasures. Die Aufgabenstellung ist durch Verwendung von Wildcards als Typen vermutlich einfacher zu lösen als ohne. Schreiben Sie keinen unnötigen Code, und achten Sie wie üblich auf Ersetzbarkeit, saubere Zusicherungen, richtige Sichtbarkeit und schwache Objektkopplung. Bitte verzichten Sie auf die Verwendung von Paketen sowie von instanceof, getClass und Typumwandlungen (type casts). Die vorgegebenen Testfälle werden ihnen dabei helfen, die häufigsten Fehler in der Lösung dieser Aufgabe selbst zu finden, wenn Sie Warnungen des Compilers ernst nehmen. Achtung: Es gibt anscheinend häufig verwendete Java-Compiler (vor allem unter Eclipse), die nicht alle Fehler im Zusammenhang mit Generizität richtig erkennen. Testen Sie Ihre Lösung daher bitte rechtzeitig auf der b3.

Hinweise zur Beurteilung:

Der Schwerpunkt bei der Beurteilung liegt auf der richtigen Verwendung von Typschranken und Wildcards zusammen mit Generizität. Starke Punkteabzüge gibt es für vermeidbare Warnungen des Compilers, die mit (der falschen Verwendung von) Generizität in Zusammenhang stehen, vor allem für die Verwendung von raw types bzw. type erasures, ebenso wie für Verwendungen von instanceof, getClass und Typumwandlungen, die dazu dienen, Probleme beim Umgang mit Generizität zu verschleiern. Punkteabzüge gibt es, wie bereits üblich, auch für unnötigen (oder unnötig komplexen) Code, mangelhafte Zusicherungen, inkorrekte Untertypbeziehungen, schlechte Verwendung von Sichtbarkeit, starke Objektkopplung, sowie fehlende oder nicht der Aufgabenstellung entsprechende Funktionalität.

Was im Hinblick auf die Abgabe zu beachten ist:

Schreiben Sie Ihre Lösung in den bereits existierenden Ordner Aufgabe7 in Ihrem Verzeichnis auf dem Übungsrechner b3. Das Programm soll von diesem Ordner aus durch java Test aufrufbar sein. Schreiben Sie wenn möglich nicht mehr als eine Klasse in jede Datei. Der Ordner soll zum Zeitpunkt der Abgabe (14.12.2006, 12:45 Uhr) und der nachträglichen Abgabe (21.12.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. Vermeiden Sie die Verwendung von Ordnern innerhalb des Abgabeordners Aufgabe7.
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
            OOP
               Laborübung
               1. Aufgabe
               2. Aufgabe
               3. Aufgabe
               4. Aufgabe
               5. Aufgabe
               6. Aufgabe
               7. Aufgabe
               8. Aufgabe
            Typsysteme
            Seminar
         LVAs 2006 S
         LVAs 2005 W
         LVAs 2005 S
         LVAs 2004 W
         LVAs 2004 S
         LVAs 2003 W
   Links
Sitemap
Kontakt
Schnellzugriff:
Laborübung
Tutoren
Skriptum
Folien
Aufgaben
vorige Aufgabe
nächste Aufgabe
Fakultät für Informatik
Technische Universität Wien
Anfang | HTML 4.01 | Datenschutzerklärung | letzte Änderung: 2006-12-07 (Puntigam)