Junior
Kāda ir atšķirība starp abstraktām klasēm un saskarnēm?
sobes.tech AI
Atbilde no AI
Abstrakta klase:
- Var saturēt abstraktās (bez realizācijas) un konkrētas (ar realizāciju) metodes.
- Var saturēt laukus (instanču mainīgos).
- Var saturēt konstruktorus.
- Atļauj vienkāršu mantošanu (viena klase var manto no abstraktas klases).
- Tiek izmantota, lai definētu pamata struktūru un kopējo uzvedību saistītajām klasēm.
Saskarne:
- Var saturēt tikai abstraktās metodes (dažas valodas, piemēram, Java no versijas 8, ļauj noklusējuma un statiskās metodes ar realizāciju).
- Nevar saturēt instanču laukus (tikai konstantes).
- Nevar būt konstruktori.
- Atļauj daudzveidīgu realizāciju (viena klase var realizēt vairākas saskarnes).
- Tiek izmantota, lai definētu līgumu, kuru klasēm ir jāievēro.