Overerving bij objectgeoriënteerd programmeren (OOP)
Overerving is een mechanisme in objectgeoriënteerd programmeren (OOP) waarmee een klasse eigenschappen en gedrag van een andere klasse kan erven. De klasse waarvan wordt geërfd, wordt de "superklasse" of "ouderklasse" genoemd, terwijl de klasse die de overerving uitvoert, de "subklasse" of "kindklasse" wordt genoemd. Een erfgenaam is een subklasse die eigenschappen en gedrag overneemt van een superklasse. Met andere woorden, een erfgenaam is een klasse die de attributen en methoden van een andere klasse erft. Laten we bijvoorbeeld zeggen dat we twee klassen hebben: `Car` en `SportsCar`. De klasse `Car` heeft attributen zoals `color`, `make` en `model`, en methoden zoals `drive()` en `brake()`. De klasse 'SportsCar' erft al deze attributen en methoden van de klasse 'Car', maar heeft ook enkele aanvullende attributen en methoden die specifiek zijn voor sportwagens. De klasse `SportsCar` zou dus een erfgenaam zijn van de klasse `Car`. Overerving stelt ons in staat code opnieuw te gebruiken en duplicatie te voorkomen. In plaats van dezelfde attributen en methoden in meerdere klassen te moeten definiëren, kunnen we ze één keer in de superklasse definiëren en alle subklassen deze laten erven. Dit maakt onze code efficiënter en gemakkelijker te onderhouden.