Aufgabe 1: Dreieck Aufgabe 2: Geometrische Objekte Aufgabe3: Zug

Werbung
Java - OOP
Uebung zu Kapitel 3
Seite 1
Aufgabe 1: Dreieck
Die Dreiecks-Aufgabe aus Kapitel 2 soll nach einem objektorientierten Ansatz umgeschrieben
werden. Gehen sie dazu wie folgt vor:
a) Schreiben sie eine Klasse Dreieck, welche verschiedene Methoden zur Prüfung der
Eigenschaften hat:
boolean istGleichseitig();
boolean istGleichschenklig();
boolean istRechtwinklig();
boolean istGülitig();
Dem Konstruktor sollen die drei Seiten des Dreiecks als Parameter übergeben werden.
b) Schreiben sie eine Klasse DreieckTest, welche eine main()-Methode hat. In dieser wird
eine Instanz der Klasse Dreieck angelegt und deren Methoden aufgerufen.
Aufgabe 2: Geometrische Objekte
Im Unterricht haben wir im Kapitel Polymorphismus die geometrischen Objekte Rechteck und Kreis
verwendet. Die Klasse Dreieck soll nun ebenfalls in diese Klassenhierarchie eingebaut und zudem
mit der Methode area() ergänzt werden. Den Code für die Klassen GeometrischesObjekt,
Rechteck und Kreis finden sie auf meiner Homepage unter „Introduction to OOP with Java“
Vorgehen: Zeichnen sie zuerst ein Klassendiagramm, welches auch die Klasse Dreieck beinhaltet
(die Klasse Dreieck soll von der Klasse GeometrischesObjekt vererbt werden).
Modifizieren sie anschliessend die Klasse Dreieck aus Aufgabe 1. Schreiben sie am Schluss ein
kleines Testprogramm (Klasse TestGeo), welches die Flächen eines Rechtecks, eines Kreises und
eines Dreiecks berechnet.
Aufgabe3: Zug
Ein Zug hat mindestens eine Lokomotive und mehrere Wagen. Es gibt mehrere Arten von
Lokomotiven (z.B. E-Lok und Dampflok) und auch mehrere Arten von Wagen (Personenwagen,
Güterwagen). Jeder Zug hat eine Destination und einen Namen. Die SBB als Betreiberin hat
wiederum mehrere Züge, die sie je nach Bedarf aus dem Rollmaterial-Park zusammenstellen kann.
a) Zeichnen sie ein Klassendiagramm.
b) Implementieren sie dieses
c) Schreiben sie eine Testsoftware mit einem Nostalgie-Postzug von Basel nach Chiasso und
einem Intercity von Bern nach Genf.
Hinweisungen zur Programmierung von dieser Aufgabe
Die verschiedenen Objekte von dieser Aufgabe können mit der Klasse ArrayListe verwaltet
werden. Diese Klasse enthält folgende Methoden:
a) Die Methode add(Object e), welche erlaubt Objekte verschiedener Typen in dieser
Datenstruktur Listenmässig einzufügen.
b) Die Methode get(int index), welche erlaubt auf die Objekte von dieser Datenstruktur
Arraymässig zuzugreifen
c) Die Methode remove(int index), welche erlaubt die Objekte von dieser Datenstruktur
Arraymässig zu löschen.
V1.0 2003, Labor für Informatik, E. Firouzi
Uebung zu Kapitel 3
Java - OOP
Beispiel
ArrayList locomotivePark = new ArrayList();
ArrayList wagonPark
= new ArrayList();
locomotivePark.add(new Locomotive(type, axis, power, weight));
((Locomotive)locomotive.get(i)).printInfo();
V1.0 2003, Labor für Informatik, E. Firouzi
Seite 2
Herunterladen