Wat is een erfenis?

Bij objectgeoriënteerd programmeren verwijst overerving naar het vermogen van een object om een ​​of meer kenmerken uit andere klassen met objecten over te nemen. De geërfde kenmerken zijn meestal instantievariabelen of lidfuncties. Een object dat deze kenmerken overerft, staat bekend als een subklasse en het object waarvan het erft, staat bekend als een superklasse. De details van hoe overerving wordt geïmplementeerd, verschillen per taal, maar de eerste taal om het te implementeren was Simula in 1967.

Waarvoor wordt erfenis gebruikt?

Het doel van overerving is om code te consolideren en opnieuw te gebruiken. Als de objecten auto, vrachtwagen en motorfiets bijvoorbeeld subklassen van het superklasse-voertuig zijn, kan de code die op alle subcategorieën van toepassing is worden geconsolideerd tot een superklasse van een voertuig. De subklassen zullen deze code en toekomstige wijzigingen die eraan zijn gemaakt, automatisch overnemen.

Vijf soorten overerving

  • Single inheritance - Subclasses erven kenmerken van een enkele superklasse.
  • Meerdere overerving - Een subklasse kan meer dan één superklasse hebben en van alle kenmerken overerven.
  • Meervoudige overerving - Een subklasse kan zijn eigen subklassen hebben. Met andere woorden, een subklasse van een superklasse kan zelf een superklasse zijn voor andere subklassen.
  • Hiërarchische overerving : een basisklasse fungeert als de bovenliggende superklasse voor meerdere niveaus van subklassen.
  • Hybrid inheritance - Een combinatie van een of meer van de andere overervingsmethoden.

Exemplaar, objectgeoriënteerd, programmeervoorwaarden