Junior
Wat is het verschil tussen abstracte klassen en interfaces?
sobes.tech AI
Antwoord van AI
Abstracte klasse:
- Kan abstracte (zonder implementatie) en concrete (met implementatie) methoden bevatten.
- Kan velden (instantvariabelen) bevatten.
- Kan constructors hebben.
- Staat enkelvoudige erfelijkheid toe (een klasse kan erven van een abstracte klasse).
- Wordt gebruikt om de basisstructuur en het algemene gedrag voor gerelateerde klassen te definiëren.
Interface:
- Kan alleen abstracte methoden bevatten (sommige talen, zoals Java vanaf versie 8, staan default- en static-methoden met implementatie toe).
- Kan geen instantievormen bevatten (alleen constanten).
- Kan geen constructors hebben.
- Staat meervoudige implementatie toe (een klasse kan meerdere interfaces implementeren).
- Wordt gebruikt om een contract te definiëren dat klassen moeten implementeren.