Informatika2-2012/Hazi11

A MathWikiből
A lap korábbi változatát látod, amilyen Stma (vitalap | szerkesztései) 2012. április 28., 16:05-kor történt szerkesztése után volt.

<-- vissza

Síkidom osztálystruktúra

Beadási határidő: 2012. máj. 7.

Készíts osztályokat a következő struktúra szerint:

Pont
  |
  * - Negyzet
        |
        * - Teglalap
        |
        * - Kor
Vektor

A Pont osztály definiálja hogy egy koordináta rendszerben hol helyezkedik el (x,y) Legyen neki két függvénye, amik konstans nullával térnek vissza.:

  • terulet
  • kerulet

Konstruktorában az x és az y legyen paraméter, és ha nem adják meg, akkor alapból a 0,0 legyen hozzájuk rendelve.

A pontot az + (__add__) operátorral el lehessen tolni, ha egy vektort kap.

A Vektor osztály két pontot tartalmaz, amit a konstruktorban inicializálunk, ha nem adnak meg koordinátákat akkor alapból a 0,0 és az 1,0 értéket kapja. A konstruktor Pontokat hozzon létre és ezt tárolja a Vektor osztályba (ezt nevezzük tartalmazásnak)

Definiáljuk továbbá a + (__add__), - (__sub__), * (__mul__) operátorokat is. Az operátorok minden esetben egy új vektorral térjenek vissza.

A Negyzet osztály a Pont leszármazottja, a konstruktora használja az őse konstruktorát is a super() függvény segítségével. És értelem szerűen definiálja felül a kerület, terület függvényeket. Írd felül az __add__ operátort ha kell, hogy hasonlóan az eltolást valósítsa meg.

A Teglalap és a Kor őse a Negyzet, ők is használják fel ősük konstruktorát a super() segítségével és írják felül értelemszerűen a kerület, terület függvényeket. Írd felül az __add__ operátort ha kell, hogy hasonlóan az eltolást valósítsa meg.

Ezután tegyétek ezeket egy modulba és írjatok egy fv. ami csak abban az esetben fut le ha nem importaljak a modult hanem futtatják. A fv. pedig rátok bízom, de demonstrálja a megírt osztályokat.

pl.:

  • példányosítás
  • vektorok összeadása, ...
  • területek kerületek számítása, ...


Levonunk pontot ha nincs:

  • modul
  • import soran is lefut a demonstracio
  • demonstráció nem tér ki mindenre
  • nincsenek meg a kért osztályok
  • nincsenek meg a kért fv-ek
  • nincsenek meg a kért osztályok operátorai

super() függvény

super függvény leírása

<-- vissza

Személyes eszközök