Objektorientierte Programmierung
LVA 185.162, VL 2.0, 2006 W

6. Übungsaufgabe

Themen:

Generizität, Iteratoren

Termine:

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

Abgabeverzeichnis:

Aufgabe6

Programmaufruf:

java Test

Grundlage:

Skriptum bis Seite 99 und die Seiten 105 bis 109.

Aufgabe

Welche Aufgabe zu lösen ist:

Schreiben Sie Java-Klassen mit folgender Funktionalität:

Wie die Aufgabe zu lösen ist:

Achten Sie vor allem auf einen sinnvollen Umgang mit Generizität und Iteratoren. Vermeiden Sie unnötigen Code; insbesondere soll Funktionalität, die in einer Oberklasse bereits (in ähnlicher Form) vorhanden ist, in der Unterklasse nicht nochmals implementiert werden. Vermeiden Sie Kommentare, die keine Zusicherungen darstellen, sowie unklare Zusicherungen. Wählen Sie stets jene Faktorisierung und jene Arten von Zusicherungen, durch welche die Objektkopplung (vor allem die Abhängigkeit mit Test) am schwächsten ist. Es soll stillschweigend (ohne Fehlermeldung oder Exception) möglich sein, dass eine aufgerufene Methode nichts tut, wenn deren Nachbedingungen bereits beim Aufruf erfüllt sind. Achten Sie auf die Sichtbarkeit, wobei angenommen wird, dass auf alle in der Aufgabenstellung angeführten Methoden von außen zugegriffen können werden soll. Nennen Sie Ihre Klassen so, wie sie in der Aufgabenstellung heißen. Überlegen Sie, wie Sie geschachtelte Klassen in dieser Aufgabe einsetzen können. Vermeiden Sie die Verwendung von Paketen.

Hinweise zur Beurteilung:

Der Schwerpunkt bei der Beurteilung liegt auf Generizität und Iteratoren (so weit in der Vorlesung bereits behandelt). 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. Entsprechende Warnungen haben ihre Ursache hauptsächlich in vergessenen Typangaben bei Verwendung generischer Typen. Punkteabzüge gibt es 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 Aufgabe6 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 (7.12.2006, 12:45 Uhr) und der nachträglichen Abgabe (14.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 Aufgabe6.
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-11-30 (Puntigam)