Content
Um was geht es?
Mit diesem Beispiel soll eine simple Vererbungshierarchie anhand von geometrischen Figuren dargestellt werden. Und vielleicht macht das ganze ja so etwas mehr Sinn.
Aufgabe
- Erstelle das Package at.htldornbirn.swp.uebungen.abstraction und at.htldornbirn.swp.uebungen.abstraction.geometries in src
- Erstelle das Package at.htldornbirn.swp.uebungen.abstraction.geometries in test
- Erstelle die Klasse Abstraction mit der main Methode im abstraction Package
- Erstelle die Klasse GeometryTest im test Package
Abstrakte Klasse Geometry
- Erstelle die abstrakte Klasse Geometry im geometries Package
- Die Klasse kann einen leeren Konstruktor haben, das heißt, es muss keiner hingeschrieben werden
- Erstelle folgende abstrakte Instanzmethoden:
- double getCircumference() - Gibt den Umfang zurück
- double getArea() - Gibt die Fläche zurück
Verschiedene geometrische Formen
- Erstelle nun für folgende Geometrischen Formen jeweils eine Klasse im geometries Package. Alle diese Klassen erben von Geometry und implementieren die entsprechenden Methoden. Die Einheit für die Geometrischen Formen, ob Meter, Zentimeter, oder sonst etwas, spielen hier keine Rolle
- Circle
- Kreis
- Nimmt im Konstruktor den Radius des Kreises (double) als Parameter
- Rectangle
- Rechteck
- Nimmt im Konstruktor Länge (double) und Breite (double) als Parameter
- Square
- Quadrat
- Nimmt im Konstruktor die Seitenlänge (double) als Parameter
- Kann hier die Implementierung komplett gespart werden in dem einfach von einer zuvor erstellten Klasse geerbt wird?
- IsoscelesTriangle
- Gleichschenkliges Dreieck
- Nimmt im Konstruktor die Seitenlänge (doulbe) als Parameter
- Circle
Testen der Klassen in der main Methode
- Erstelle in der main Methode ein Geometry Array mit der Größe z.b.: 10
- Befülle das Array mit verschiedenen geometrieschen Instanzen
- Z.b.: arr[0] = new Circle(10);
- Iteriere über das Array und summiere jeweils den Umfang und die Fläche aller geometrischen Instanzen zusammen
Testen der Klassen mit JUnit
- Erstelle für jede der geometrischen Formen eine eigene Testmethode
- Erstelle hier geeignete Testfälle