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