Objektumorientáltan ezt hogyan érdemes megoldani, és miért úgy?
Van egy grafikus objektum, ami Kirajzol, és van egy Karakter objektum (kirajzolandó). A Karakter felelős-e a saját kirajzolásáért, vagy sem?
Ha igen, akkor úgy gondoltam, hogy a Karakternek legyen egy tagfüggvénye, ami paraméterként kapja a Kirajzol objektumot.
Az ellenkező esetben meg gondolom úgy kéne, hogy a grafikus objektum kapja paraméterként a Karaktert (amit pl. lehetne leszármaztatni egy Drawable(kirajzolható) osztályból).
A kettő közül melyik megközelítésmódot érdemes választanom, és miért pont azt?
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
Ez attól függ, hány féle karakter típusod lesz, hányféle kirajzolásmódot kell támogatnod. Ha sok, akkor érdemes rájuk bízni a saját kirajzolásukat, tehát van egy Karakter osztály Draw metódussal ami átveszi a Kirajzol objektumot, abból leszármaztatod az egyes típusokat, és mindegyik megvalósítja (vagy ha a Karakter objektumok csak néhány tulajdonságukban térnek el akkor persze felesleges osztályhierarchiát csinálni rá, de tökmindegy, lassabb nem lesz sehogy).
Ha viszont kevésfajta rajzolás van, akkor érdemes rábízni magára a rajzoló objektumra, hogy nesze, ezt rajzold ki.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!