Ú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?:))
- PH!otósok beszélgetős, offolós topikja
- Jövőre jósolják a memóriahiányt, ami egy évtizedig is fennmaradhat?
- Honda topik
- Milyen processzort vegyek?
- Kenyérsütés otthon kenyérsütőgéppel
- PlayStation 5
- World of Tanks - MMO
- Geri Bátyó: Agglegénykonyha 7 – Még egy megosztó – de gyors – étel: resztelt máj
- Vezeték nélküli fülhallgatók
- Milyen alaplapot vegyek?
- További aktív témák...
- Playstation 5 lemezes 825GB CFI-1216A, újra fém pasztázva, 6 hónap garanciával, Bp-i üzletből eladó!
- MSI MEG Z-790 ACE alaplap + INTEL CORE I9 13900K proci + 32 GB DDR5 memória Félkonfig
- AFOX GTX 1050 Ti 4GB GDDR5
- Lenovo Tab P11 Pro 2. Gen. Billentyűzet és Tok - Szürke
- GLORIOUS Aura 145-KEY Mechanical Keycaps - White
- GYÖNYÖRŰ iPhone 13 128GB Starlight- 1 ÉV GARANCIA, Kártyafüggetlen,,MS3433
- Tablet felvásárlás!! Apple iPad, iPad Mini, iPad Air, iPad Pro
- Honor 400 Lite / 8/256 GB / Kártyafüggetlen / 12Hó Garancia
- Eladó teljesen felújított Apple iPhone Xr 64GB / 12 hó jótállás
- Bontatlan egérpad Razer Sphex V3 (RZ02-03820100-R3M1
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest