# 2. Feladat megoldásának bemutatása

(Az osztálydiagramom fájlneve Main.cd)

## Class hierarchia döntések

- Készítettem egy positioned shape-t
- Minden classnak kell egy Név és egy Area, amit le lehet kérdezni, ehhez van egy IShape interfész ami a publikus GetName és GetArea metódust írja elő. Ezeket minden megvalósítja. (Square, Circle, TextArea) Ezen felül van egy PositionedShape, ami absztrakt kulcsszóval ellátja a GetArea és GetName methodjait az IShape-nek és tárol pozíciókat. (Ezt felhasználtam a Square és a Circle classnál)
- Noha a pozíciók csak int-ek lehetnek (A TextArea-hoz igazodva), a GetArea() mégis valós számot ad vissza, mivel mondjuk a körnél lehet tört terület a PI miatt.
- A Circle és Square eltárolja azokat a data membereket, kivéve a pozíciót, mivel azt már a PositionedShape tárolja el.
- A PositionedShape tárolja az alakzatokat. Lehet hozzáadni és kilistázni.
- A TextArea nem származik le a positioned shape-ből, hanem direktbe megvalósítja annak metódusait. Ez azért lehet, mert már a textbox-ból leszármozik amiből már a pozíciót el lehet érni így a positioned shape redundáns lenne.