Informatika2-2016/Gyakorlat8
(→Alakzat) |
(→Alakzat) |
||
11. sor: | 11. sor: | ||
Definiáljuk az '''Ellipse''' osztály '''equation''' metódusát, ami kiírja az adott ellipszis egyenletét! | Definiáljuk az '''Ellipse''' osztály '''equation''' metódusát, ami kiírja az adott ellipszis egyenletét! | ||
+ | |||
+ | === Vászon === | ||
+ | Definiáljuk a '''Canvas''' (vászon) osztályt. Egyetlen tagváltozója legyen a '''shapes''', ami a rajta lévő alakzatokat tárolja. Oldjuk meg, hogy az osztályunk iterálható legyen! Ehhez definiáljuk az '''__iter__(self)''' metódust, valamit a '''next(self)''' metódust, ahogy az előadáson láttuk. |
A lap 2016. április 6., 16:14-kori változata
Tartalomjegyzék |
Előadás
Bevezető feladatok
Nyissuk meg a Sypdert.
Alakzat
Írjunk egy Shape osztályt. Legyen x és y változója, ezek tárolják az alakzat pozícióját a síkon. Legyen egy move metódusa, aminek egyetlen v paramétere van, egy kételemű lista, a vektor, amivel el kell mozgatni az alakzatot.
Definiáljuk a Shape osztály leszármazottaiként az Ellipse ellipszis és Rectangle téglalap osztályokat. Mindkét esetben a pozíciójuk a súlypontjukat jelentse. Az ellipszisnek legyen meg a kis- és nagytengelye (a,b), a téglalapnak pedig a két oldal hossza tagváltozóként (a,b)! Írjunk mindkét osztályhoz egy area függvényt, ami kiszámítja az alakzat területét!
Definiáljuk az Ellipse osztály equation metódusát, ami kiírja az adott ellipszis egyenletét!
Vászon
Definiáljuk a Canvas (vászon) osztályt. Egyetlen tagváltozója legyen a shapes, ami a rajta lévő alakzatokat tárolja. Oldjuk meg, hogy az osztályunk iterálható legyen! Ehhez definiáljuk az __iter__(self) metódust, valamit a next(self) metódust, ahogy az előadáson láttuk.