Junior
Mi a különbség az absztrakt osztályok és az interfészek között?
sobes.tech MI
Válasz az MI-től
Absztrakt osztály:
- Tartalmazhat absztrakt (megvalósítás nélküli) és konkrét (megvalósítással rendelkező) metódusokat.
- Tartalmazhat mezőket (példányváltozókat).
- Lehetnek konstruktorai.
- Egyszerű öröklést tesz lehetővé (egy osztály örökölhet egy absztrakt osztálytól).
- Alapstruktúrák és általános viselkedés meghatározására használják a kapcsolódó osztályok számára.
Interfész:
- Csak absztrakt metódusokat tartalmazhat (egyes nyelvek, például Java 8-tól, lehetővé teszik az alapértelmezett és static metódusokat implementációval).
- Nem tartalmazhat példánymezőket (csak konstansokat).
- Nem lehetnek konstruktorai.
- Többszörös implementációt tesz lehetővé (egy osztály több interfészt is megvalósíthat).
- Azt a szerződést határozza meg, amit a osztályoknak teljesíteniük kell.