Sobes.tech
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ť.