Junior
V čom spočíva rozdiel medzi abstraktnými triedami a rozhraniami?
sobes.tech AI
Odpoveď od AI
Abstraktna trieda:
- Môže obsahovať abstraktné (bez implementácie) a konkrétne (s implementáciou) metódy.
- Môže obsahovať polia (premenné inštancie).
- Môže mať konštruktory.
- Umožňuje jednoduché dedenie (jedna trieda môže dediť od abstraktnej triedy).
- Používa sa na definovanie základnej štruktúry a všeobecného správania pre súvisiace triedy.
Rozhranie:
- Môže obsahovať iba abstraktné metódy (niektoré jazyky, napríklad Java od verzie 8, umožňujú predvolené a statické metódy s implementáciou).
- Nemôže obsahovať polia inštancie (len konštanty).
- Nemôže mať konštruktory.
- Umožňuje viacnásobnú implementáciu (jedna trieda môže implementovať viac rozhraní).
- Používa sa na definovanie zmluvy, ktorú musia triedy dodržiavať.