Geometrische Form
Setze das abgebildete Klassendiagramm vollständig um. Erstelle zum Testen eine ausführbare Klasse.
Klassendiagramm
Allgemeine Hinweise
- Aus Gründen der Übersicht werden im Klassendiagramm keine Getter und Object-Methoden dargestellt
 - So nicht anders angegeben, sollen Konstruktoren, Setter, Getter sowie die Object-Methoden wie gewohnt implementiert werden
 - Die statische Konstante 
PIder KlasseMathstellt die Kreiszahl Pi dar 
Hinweise zur Klasse Shape
- Die Methode 
double getAreaInCm2()soll den Wert 0 zurückgeben - Die Methode 
double getCircumferenceInCm()soll den Wert 0 zurückgeben 
Hinweise zur Klasse Circle
- Die Methode 
double getAreaInCm2()soll den Flächeninhalt gemäß der Formel𝐴 = 𝜋 ∗ 𝑟 ∗ 𝑟berechnen und zurückgeben - Die Methode 
double getCircumferenceInCm()soll den Umfang gemäß der FormelU = 2 ∗ 𝜋 ∗ 𝑟berechnen und zurückgeben 
Hinweise zur Klasse Rectangle
- Die Methode 
double getAreaInCm2()soll den Flächeninhalt gemäß der Formel𝐴 = 𝑎 ∗ 𝑏berechnen und zurückgeben - Die Methode 
double getCircumferenceInCm()soll den Umfang gemäß der FormelU = 2 ∗ 𝑎 + 2 ∗ 𝑏berechnen und zurückgeben 
Hinweise zur Klasse ShapeReader
- Der Konstruktor soll der Formenliste (
shapes) alle Formen der eingehenden Datei hinzufügen - Die Methode 
List<Circle> getCircles()soll alle Kreise der Formenliste (shapes) zurückgeben - Die Methode 
List<Shape> getShapesWithMinArea(minAreaInCm2: double)soll alle Formen der Formenliste (shapes) zurückgeben, die mindestens den eingehenden Flächeninhalt aufweisen 
Beispielhafter Aufbau der Formendatei
Circle;4
Square;5
Rectangle;3;4
Rectangle;1;7
Circle;2
Circle;3