Informatika2-2012/Hazi11
Stma (vitalap | szerkesztései) (→Síkidom osztálystruktúra) |
Stma (vitalap | szerkesztései) (→Síkidom osztálystruktúra) |
||
2. sor: | 2. sor: | ||
== Síkidom osztálystruktúra == | == Síkidom osztálystruktúra == | ||
+ | |||
+ | '''Beadási határidő: 2012. máj. 7.''' | ||
+ | |||
Készíts osztályokat a következő struktúra szerint: | Készíts osztályokat a következő struktúra szerint: | ||
34. sor: | 37. sor: | ||
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. | 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.: | pl.: | ||
* példányosítás | * példányosítás | ||
39. sor: | 43. sor: | ||
* területek kerületek számítása, ... | * területek kerületek számítása, ... | ||
− | Levonunk pontot ha nincs: | + | |
+ | '''Levonunk pontot ha nincs:''' | ||
* modul | * modul | ||
* import soran is lefut a demonstracio | * import soran is lefut a demonstracio |
A lap 2012. április 28., 17:05-kori változata
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