Kezdőoldal » Számítástechnika » Programozás » Hogy kell OOP-t nem sértve...

Hogy kell OOP-t nem sértve ezt megcsinálni?

Figyelt kérdés

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)



2022. márc. 10. 00:47
1 2
 1/12 anonim ***** válasza:
13%

"Ez egy hosszú nagy házi része"


Aha, vettük.

2022. márc. 10. 05:58
Hasznos számodra ez a válasz?
 2/12 anonim ***** válasza:
67%
Irj egy esemenyt a benulasra es iratkozz fel ra a tolvajjal. Ha nem tamogatja a nyelv az esemeny kezelest, akkor nezz utana az observer mintanak.
2022. márc. 10. 06:29
Hasznos számodra ez a válasz?
 3/12 anonim ***** válasza:
62%
Ez így abszolút értelmezhetetlen.
2022. márc. 10. 08:40
Hasznos számodra ez a válasz?
 4/12 anonim ***** válasza:
Mi a tokom az a belso parameter meg tipus lekerdezes?
2022. márc. 10. 20:47
Hasznos számodra ez a válasz?
 5/12 anonim ***** válasza:
0%
4: Jár ide egy, a programozáshoz abszolút nem értő személy, aki néha behány ilyen értelmetlen hülyeségeket, keverve szakszavakat, mindent, ami csak eszébe jut. Hát, ez is egy ilyen pillanat eredménye.
2022. márc. 10. 20:53
Hasznos számodra ez a válasz?
 6/12 A kérdező kommentje:

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.

2022. márc. 10. 21:15
 7/12 anonim ***** válasza:
0%

"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.

2022. márc. 10. 21:19
Hasznos számodra ez a válasz?
 8/12 anonim ***** válasza:
Márpedig, amit te belső paraméternek titulálsz az egy teljesen valid dolog oopn belül. Teljesen normális, hogy egy objektumnak van egy belső állapota.
2022. márc. 10. 21:36
Hasznos számodra ez a válasz?
 9/12 A kérdező kommentje:
Tudom, de ezt a BMEs oktatónak magyarázd el, aki azt mondta hogy ne használjuk.
2022. márc. 10. 22:42
 10/12 anonim ***** válasza:
0%

Hagyd már abba. Totál kamu vagy.


Amiket írsz, azok értelmetlen zagyvaságok.

2022. márc. 10. 22:44
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!