Informatika2-2013/Hazi10
A MathWikiből
(Változatok közti eltérés)
(Új oldal, tartalma: „A házifeladat, hogy megvalósítsátok azon osztályokat melyek megjelennek ezen a diagrammon: http://math.bme.hu/~kkovacs/info2/uml.jpg A nyilak az õsöket jelzik, …”) |
|||
(egy szerkesztő 4 közbeeső változata nincs mutatva) | |||
4. sor: | 4. sor: | ||
A következõkben leírom részletesebben mi mit csinál: | A következõkben leírom részletesebben mi mit csinál: | ||
− | * | + | * ''Gerincesek'': |
** '''eletben''': True/False érték, amikor létrejön egy gerinces ez alapból True | ** '''eletben''': True/False érték, amikor létrejön egy gerinces ez alapból True | ||
** '''sebesseg''': az állat maximális sebessége, ezt meg kell adnunk az állat létrejöttekor (így minden leszármozottjában is) | ** '''sebesseg''': az állat maximális sebessége, ezt meg kell adnunk az állat létrejöttekor (így minden leszármozottjában is) | ||
− | * | + | * ''Halak'' |
** '''uszonyokSzama''': a hal uszonyainak a száma, létrejöttekor meg kell adni | ** '''uszonyokSzama''': a hal uszonyainak a száma, létrejöttekor meg kell adni | ||
− | * | + | * ''Emlõsök'' |
** '''labakSzama''': az emlõs lábainak a száma, létrejöttekor meg kell adni, de a leszármazottjaiban nem feltétlen | ** '''labakSzama''': az emlõs lábainak a száma, létrejöttekor meg kell adni, de a leszármazottjaiban nem feltétlen | ||
− | * | + | * ''Madarak'' |
** '''koltozo''': True/False érték, True, ha a madár költözõmadár, False különben | ** '''koltozo''': True/False érték, True, ha a madár költözõmadár, False különben | ||
− | * | + | * ''Morgóhal'' |
** '''morog''': kiírja a kimenetre, hogy "morrmorr" | ** '''morog''': kiírja a kimenetre, hogy "morrmorr" | ||
** '''szarnyakSzama''': a hal szárnyainak a száma, legyen egyenlõ az uszonyainak a számával | ** '''szarnyakSzama''': a hal szárnyainak a száma, legyen egyenlõ az uszonyainak a számával | ||
− | * | + | * ''Kõhal'' |
** '''gyilkol''': egyetlen paramétere egy másik gerinces állat (nem kell ellenõrizni, hogy tényleg az-e), beállítja a másik állat '''eletben''' adattagját False-ra | ** '''gyilkol''': egyetlen paramétere egy másik gerinces állat (nem kell ellenõrizni, hogy tényleg az-e), beállítja a másik állat '''eletben''' adattagját False-ra | ||
** '''tuskekSzama''': a hal tüskéinek a száma, meg kell adni létrejöttekor | ** '''tuskekSzama''': a hal tüskéinek a száma, meg kell adni létrejöttekor | ||
− | * | + | * ''Pocok'' |
** '''pofazacsko''': az állat pofazacskójában található kaja darabszáma, létrejöttekor 0 | ** '''pofazacsko''': az állat pofazacskójában található kaja darabszáma, létrejöttekor 0 | ||
** '''raktaroz''': növeli eggyel a pofazacskója tartalmát | ** '''raktaroz''': növeli eggyel a pofazacskója tartalmát | ||
− | * | + | * ''Macska'' |
** '''vadasz''': bemenete egy másik gerinces állat (mint a gyilkol), és a másik állat '''eletben''' adattagját False-ra állítja, feltéve, hogy a másik állat nem Kõhal, mert ebben az esetben a saját '''eletben''' adattagját állítja False-ra (12. gyakról: type(allat) == Kohal paranccsal tudjatjuk meg, hogy az allat objektum kõhal-e) | ** '''vadasz''': bemenete egy másik gerinces állat (mint a gyilkol), és a másik állat '''eletben''' adattagját False-ra állítja, feltéve, hogy a másik állat nem Kõhal, mert ebben az esetben a saját '''eletben''' adattagját állítja False-ra (12. gyakról: type(allat) == Kohal paranccsal tudjatjuk meg, hogy az allat objektum kõhal-e) | ||
** '''haziMacska''': True/False érték, True, ha az adott macska házimacska, False egyébként, létrejöttekor meg kell adni | ** '''haziMacska''': True/False érték, True, ha az adott macska házimacska, False egyébként, létrejöttekor meg kell adni | ||
− | * | + | * ''Varju'' |
** '''karog''': kiírja a kimenetre, hogy "karkar" | ** '''karog''': kiírja a kimenetre, hogy "karkar" | ||
** '''theMorrigan''': True/False érték, True, ha az adott varjú a [http://en.wikipedia.org/wiki/Morrigan Morrigan], False különben, létrejöttekor meg kell adni, de alapértelmezetten a paraméter értéke False (ha nem adjuk meg akkor alapból False lesz) | ** '''theMorrigan''': True/False érték, True, ha az adott varjú a [http://en.wikipedia.org/wiki/Morrigan Morrigan], False különben, létrejöttekor meg kell adni, de alapértelmezetten a paraméter értéke False (ha nem adjuk meg akkor alapból False lesz) | ||
− | * | + | * ''Jégmadár'' |
** '''halaszo''': True/False érték, tud-e halászni az adott jégmadár vagy sem, létrejöttekor meg kell adni | ** '''halaszo''': True/False érték, tud-e halászni az adott jégmadár vagy sem, létrejöttekor meg kell adni | ||
** '''vadasz''': bemenete egy másik gerinces állat (mint a macska vadasz-a), de csak akkor állítja False-ra a másik állat '''eletben''' adattagját, ha a másik állat egy Morgóhal és õ magának a '''halaszo''' adattagja True | ** '''vadasz''': bemenete egy másik gerinces állat (mint a macska vadasz-a), de csak akkor állítja False-ra a másik állat '''eletben''' adattagját, ha a másik állat egy Morgóhal és õ magának a '''halaszo''' adattagja True | ||
+ | |||
+ | A Macska és Pocok-nak legyen létrejöttkor mindig 4 lába, ezt ne kelljen nekik megadni. | ||
+ | |||
+ | Értelemszerûen, minden leszármazott hívja meg az õsosztály __init__-jét (a 12. gyakorlaton tanult super függvénnyel). | ||
+ | |||
+ | !!! SPOILER !!! | ||
+ | |||
+ | Egy példa osztály (ez is legyen azért benne): | ||
+ | |||
+ | <python> | ||
+ | class Macska(Emlos): | ||
+ | def __init__(self, sebesseg, hazi): | ||
+ | super(Macska, self).__init__(sebesseg, 4) # a 4 a labakSzama, mivel itt az Emlosok osztaly __init__-jét hívom meg | ||
+ | self.haziMacska = hazi | ||
+ | def vadasz(self, masik): | ||
+ | if type(masik) == Kohal: | ||
+ | self.eletben = False | ||
+ | else: | ||
+ | masik.eletben = False | ||
+ | </python> |
A lap jelenlegi, 2013. május 15., 23:13-kori változata
A házifeladat, hogy megvalósítsátok azon osztályokat melyek megjelennek ezen a diagrammon: http://math.bme.hu/~kkovacs/info2/uml.jpg
A nyilak az õsöket jelzik, tehát pl a Madarak osztály az Emlosok-bõl örököl (az ékezeteket vegyétel úgy hogy nincsnek ott a képen). A cellákban fekete betûvel van az osztály neve, kékkel az adattagok, és zölddel a metódusok.
A következõkben leírom részletesebben mi mit csinál:
- Gerincesek:
- eletben: True/False érték, amikor létrejön egy gerinces ez alapból True
- sebesseg: az állat maximális sebessége, ezt meg kell adnunk az állat létrejöttekor (így minden leszármozottjában is)
- Halak
- uszonyokSzama: a hal uszonyainak a száma, létrejöttekor meg kell adni
- Emlõsök
- labakSzama: az emlõs lábainak a száma, létrejöttekor meg kell adni, de a leszármazottjaiban nem feltétlen
- Madarak
- koltozo: True/False érték, True, ha a madár költözõmadár, False különben
- Morgóhal
- morog: kiírja a kimenetre, hogy "morrmorr"
- szarnyakSzama: a hal szárnyainak a száma, legyen egyenlõ az uszonyainak a számával
- Kõhal
- gyilkol: egyetlen paramétere egy másik gerinces állat (nem kell ellenõrizni, hogy tényleg az-e), beállítja a másik állat eletben adattagját False-ra
- tuskekSzama: a hal tüskéinek a száma, meg kell adni létrejöttekor
- Pocok
- pofazacsko: az állat pofazacskójában található kaja darabszáma, létrejöttekor 0
- raktaroz: növeli eggyel a pofazacskója tartalmát
- Macska
- vadasz: bemenete egy másik gerinces állat (mint a gyilkol), és a másik állat eletben adattagját False-ra állítja, feltéve, hogy a másik állat nem Kõhal, mert ebben az esetben a saját eletben adattagját állítja False-ra (12. gyakról: type(allat) == Kohal paranccsal tudjatjuk meg, hogy az allat objektum kõhal-e)
- haziMacska: True/False érték, True, ha az adott macska házimacska, False egyébként, létrejöttekor meg kell adni
- Varju
- karog: kiírja a kimenetre, hogy "karkar"
- theMorrigan: True/False érték, True, ha az adott varjú a Morrigan, False különben, létrejöttekor meg kell adni, de alapértelmezetten a paraméter értéke False (ha nem adjuk meg akkor alapból False lesz)
- Jégmadár
- halaszo: True/False érték, tud-e halászni az adott jégmadár vagy sem, létrejöttekor meg kell adni
- vadasz: bemenete egy másik gerinces állat (mint a macska vadasz-a), de csak akkor állítja False-ra a másik állat eletben adattagját, ha a másik állat egy Morgóhal és õ magának a halaszo adattagja True
A Macska és Pocok-nak legyen létrejöttkor mindig 4 lába, ezt ne kelljen nekik megadni.
Értelemszerûen, minden leszármazott hívja meg az õsosztály __init__-jét (a 12. gyakorlaton tanult super függvénnyel).
!!! SPOILER !!!
Egy példa osztály (ez is legyen azért benne):
class Macska(Emlos): def __init__(self, sebesseg, hazi): super(Macska, self).__init__(sebesseg, 4) # a 4 a labakSzama, mivel itt az Emlosok osztaly __init__-jét hívom meg self.haziMacska = hazi def vadasz(self, masik): if type(masik) == Kohal: self.eletben = False else: masik.eletben = False