Új hozzászólás Aktív témák
-
fatal`
titán
válasz
pvt.peter
#3358
üzenetére
"Mi még köztük a különbség? Melyiket érdemes használni?"
Származtatáskor van különbség. Ha nincs szükséged semmilyen függvény implementációjára (értsd, olyan abstract osztályod lenne, amiben csak abstract függvények vannak), akkor érdemes interfacet használni, mert interfaceből egy osztály bármennyit implementálhat, viszont származtatni csak egy osztályból lehet. -
TBG
senior tag
válasz
pvt.peter
#3358
üzenetére
Az interfész osztály és az absztrakt osztály közötti különbségek.
E kettő dolog között a különbség "szinte" csak az abstract és az interface kulcsszavak.
Mi még köztük a különbség? Melyiket érdemes használni?Azért ez nem így van. Az interfész gyakorlatilag csak meghatároz megvalósítandó metódusokat.
Ezzel szemben az absztrakt osztályban lehetnek absztrakt metódusok, amiket meg kell valósítani az örökösnek, DE lehetnek benne nem absztrakt metódusok is, amik valami konkrétumot csinálnak.Persze ezt lehet variálni, amikor egy absztrakt osztály megvalósít egy interfészt, de az implementációk absztraktok lesznek.....így azokat az örökösben kell implementálni...és ott már gyakorlatilag nem látszik, hogy az eredetileg az absztrakt osztály absztrakt metódusait valósítom meg vagy az absztrakt osztály által implementált interfész metódusait

És melyiket érdemes? Erre nincs egységes recept. Általánosságban elmondható, hogy ha többszörös öröklődést akarsz megvalósítani(ami Javában alapból nincs), akkor interfész, de ha tuti, hogy csak egy őst akarsz, de kellenek default metódusok is, akkor absztrakt. Perszem azt is lehet, hogy
Interface-->default class implements interface-->örökös
vagy
absztrakt class-->örökös
vagy
Interface->absztrakt class absztrakt metódusok-->örökös
szóval...a lehetőségek végtelen tárháza

-
válasz
pvt.peter
#3358
üzenetére
Majd ezt még kiegészítik páran...mert amit írok kevés de egy alapvető dolog:
Interfészből bármennyit implementálhat egy osztály.
DE egy osztály csak egyetlen őssel rendelkezhet.
Ezért el kell dönteni a tervezési fázisban, hogy egy adott dolog esetén melyiket kell használni...
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Dell Precision 3561 Core i9 11950H, 16-32GB RAM, 512GB SSD, jó akku, számla, 6 hó gar
- Dell Latitude 5530 Core i5 1245U, 16GB RAM, SSD, jó akku, számla, 6 hó gar
- SK Hynix 16GB és 32GB DDR4 so dimm 3200MHz modulok számlával, 6 hó garanciával
- Apple iPad 5. generáció (A1822) 128GB, asztroszürke
- iPhone 16 Pro független, abszolut karcmentes és 2026.04-ig garis
- Apple iPhone 15 Pro / 256GB / Kártyafüggetlen / 12Hó Garancia / Akku:83%
- Apple iPhone 16 128GB Teal használt, újszerű 100% akku (0 ciklus) garanciás 2029.02.11-ig
- Apple iPhone 13 Pro Max 256GB,Átlagos,Dobozaval,12 hónap garanciával
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Beszámítás! Apple iPad 9 (2021) Wifi 64GB tablet garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

