Kezdőoldal » Számítástechnika » Programozás » Mire használjuk a felülírást...

Mire használjuk a felülírást a Javaban?

Figyelt kérdés

Sziasztok. Sok videót, anyagot megnéztem már, de nem esik le, hogy minek van szükség metódus felülírásra?

#overriding #overloading valaki elmagyarázza pls?



2020. ápr. 15. 16:05
1 2
 1/13 anonim ***** válasza:

"Overrinding" amikor egy virtualis függvényt (Javaban csa egy függvényt) a leszarmaztatott osztályokban újra definiálsz, mert más viselkedése kell hogy legyen.


"overloading": az amikor több függvénynek)(egy osztalyhierarchian belül) ugyanaz a neve, csak a paraméterlistajuk különbözik.

2020. ápr. 15. 16:16
Hasznos számodra ez a válasz?
 2/13 anonim ***** válasza:
100%

Ha egy metódusnak

- egyszer ilyen típusú, egyszer más típusú paramétert szeretnél átadni

- egyszer ennyi, másszor annyi paramétert szeretnél átadni

- változhat a visszatérési érték típusa


akkor overloadingot kell alkalmaznod.

A JVM a paraméterlistából (szignatúra) fogja tudni, melyik függvényt szeretnéd meghívni.

2020. ápr. 15. 16:16
Hasznos számodra ez a válasz?
 3/13 anonim ***** válasza:
100%

Nem csak a Javaban használják. Arra jó, hogy egy általánosabb osztály valamilyen tevékenységét leszármaztatáskor specializálni tudd.

Például van egy sajt nevű osztályod, ami többek között le tud lejárni. Ebből többféle sajtot leszármaztatsz, mert kis különbségek vannak köztük, de alapvetően hasonlóak. Az egyik viszont az idő múlásával nem megromlik, hanem egyre jobb lesz, úgyhogy az ős sajt osztály adott metódusát felülírod, mert annak az egy leszármazott osztálynak a példányai kicsit másképp viselkednek. Ettől még teljesen egységesen kezelhetők, az ős osztály marad, nincs új metódus, szóval a progiban nem kell máshogy kezelni ezt a fajta sajtot.

2020. ápr. 15. 16:23
Hasznos számodra ez a válasz?
 4/13 anonim ***** válasza:
100%
Bocs, csak véletlen a küldés nyomtam. Szóval nem ugyanazt jelenti a két fogalom, kérdésedből nekem pedig az jön le mintha egynek tekintenéd.
2020. ápr. 15. 16:26
Hasznos számodra ez a válasz?
 5/13 anonim ***** válasza:
22%

Override úgy működik, hogy a metódus ugyanazt a nevet használja, de az argumentumai eltérnek, ez alapján dönti el a fordító hogy melyiket kell meghívnia. Gyakorlati haszna ennek akkor van, ha nem akarod if ekkel(és opcionális argumentumokkal) telepakolni a metódusaidat teljesítmény\karbantarthatóság szempontjából.


Overload meg egy metódus felülírása a származtatott osztályban.

Jellemzően pl van a szülő osztályodnak egy Init metódusa amiben a változóidnak értéket adsz, a szülő osztálynak fogalma sincs a származtatott osztály változóiról, muszáj ezt a származtatott osztályban megoldanod, erre egyszerű megoldás lehet a metódus felülírása.

2020. ápr. 15. 16:27
Hasznos számodra ez a válasz?
 6/13 A kérdező kommentje:
Nagyon szépen köszönöm srácok! Most már oké. :D
2020. ápr. 15. 16:46
 7/13 anonim ***** válasza:

Ha szpík inglis:

[link]

2020. ápr. 15. 16:53
Hasznos számodra ez a válasz?
 8/13 anonim ***** válasza:
Kihaltam ezen a sajtos példán te találtad ki, vagy honnan szedted? :D
2020. ápr. 16. 11:02
Hasznos számodra ez a válasz?
 9/13 anonim ***** válasza:

..Gondolkodtam egy ideig, és nem jutott jobb eszembe. :)

Annyit még hozzátennék (bocsi, ha már írta valaki), hogy azt is megteheted, hogy pl. az ős sajt osztály lejáratot kezelő metódusát üresen hagyod, és csak az egyes leszármazott osztályokban írod meg, mindegyiket az adott sajthoz igazítva. Ilyenkor tuképpen csak a sajtok közös interfészét adtad meg, hogy egységesen lehessen kezelni őket, és utána egyedileg imlementálod. (Hát igen, biztos lenne jobb példa is.)

2020. ápr. 16. 13:50
Hasznos számodra ez a válasz?
 10/13 A kérdező kommentje:
Ez a sajtos ez fantasztikus. :D Nagyon kreatív, köszönöm szépen! :D
2020. ápr. 16. 18:03
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!