Hogy kell OOP-t nem sértve ezt megcsinálni?
Tanár kiadta, hogy nem lehet típus lekérdezés és belső paraméterek sem.
Tehát csak meg kell hívni az adott függvényt, adott objektumon majd az lekezelni valahogyan.
"Tell, don't ask!" alapján...
Pl.:
Van egy varázsló, aki más varázslóktól vehet el dolgokat ha azok levannak bénulva.
Akkor bénul le egy varázsló ha valaki rárakott egy bénító varázslatot.
A bénító varázslatok tehát egy dinamikus tömben vannak a varázslón, de nyílván a bénító varázslaton kívül van most más határsú is.
(Dupla támadást ad, sebezhetetlenség stb...)
....................
Ha lopni szeretnék a varázslótól hogyan tehem meg?
Elsőre nagyon egyszerűnek tűnik, mert szimplán végig megyek a rajta lévő varázslatokon, amikor bejön a lopás kérés, és ha van rajta bénítás, akkor tudok lopni, de itt jön az hogy nem használhatok típus lekérdezést. Tehát nem iterálhatom végig a listát, hogy van-e benni adott varázslat amit keresek.
Egy másik elsőre evidens megoldás, hogy a varázslatok ősosztályából mindengyik megvalósítja a saját varázslatát úgy hogy felülírják a "doMagic()" függvényét így amikor rákerül az adott varázslat a varázslóra, akkor az átállít egy változót a varázslóban, hogy "isStunned = true" és amikor vége a varázslat hatásának, akkor meg "isStunned = false" és akkor máris minden jó.
De sajnos nem lehet belső paramétereket használni.
Ti hogy oldanátok meg ezt a feladatot?
(Ez egy hosszú nagy házi része, aminek nagy része készen van, de ezen nem tudok túllendűlni)
"Ez egy hosszú nagy házi része"
Aha, vettük.
4-5:
Üdv BME-s diák, aki a 4. féléves Projet laboratórium házihoz kértem segítséget.
Szóval nem tudom miről beszélsz.
Típus lekérdezést az az, amikor megkérdezed egy objektumtól, hogy milyen objektum.
Pl.: Javában instanceof-al azt hiszem.
A belső paraméter alatt, meg változóra akartam utalni, ami az objektum állapotáról ad információt, de akár "flag"-nek is hívhatod.
Pl.: isActive boolean belső változó, ami megmondja, hogy az objektum aktív-e vagy sem.
"A belső paraméter alatt, meg változóra akartam utalni, ami az objektum állapotáról ad információt, de akár "flag"-nek is hívhatod."
Mielőbbi jobbulást.
Hagyd már abba. Totál kamu vagy.
Amiket írsz, azok értelmetlen zagyvaságok.
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!