Erfelijkheid in objectgeoriënteerd programmeren is een van de zeven fundamentele principes van het objectmodel. Volgens het principe moeten objecten in een hiërarchische relatie worden gegroepeerd, zodat bovenliggende objecten hun methoden en eigenschappen doorgeven aan onderliggende objecten via een proces dat overerving wordt genoemd. Zie overerving, objectmodel, objectgeoriënteerd programmeren.
Technipages verklaart hiërarchie
Een hiërarchie is een structuur binnen een programma die entiteiten profileert en rangschikt op basis van hun belang. Een klasse is een door de gebruiker gedefinieerd gegevenstype, waaronder gegevensmiddelen en lidfuncties zijn opgenomen. De lidfunctie beïnvloedt de gegevensvariabelen. Alle functies en eigenschappen zijn de eigenschappen waaruit een klasse bestaat, dus wanneer de klassen worden samengesteld, vormen ze een hiërarchie, ook wel de klassenhiërarchie genoemd. De klassenhiërarchie wordt ook wel de overervingsboom genoemd. Een hiërarchie is de classificatie van objecten en een object is de instantie van een klasse.
De diepte van een hiërarchie wordt niet gehinderd door de overerving van de instantievariabele advertentiemethode op een lager niveau, dus het specialisatiegedrag van een klasse is afhankelijk van de diepte van de hiërarchie. Om de definitie van een methode te vinden, moet deze worden doorgegeven vanuit de klasse van het ontvangende object, dit staat bekend als upcasting. Dus om een methode te overschrijven, wordt de klasse opnieuw gedefinieerd.
Ook objecten hebben hiërarchieën; een objecthiërarchie is echter een scenario waarin objecten zichzelf koppelen, de koppeling vormt een objecthiërarchie. Toch is een object een instantie van een klasse, en objecthiërarchieën verschillen van klassenhiërarchieën.
Veelvoorkomend gebruik van hiërarchie
- Een voorwerp hiërarchie toont de volgorde en de koppelingsobjecten die ze hebben wanneer ze zichzelf koppelen
- Een klas hiërarchie is een verzameling van klassen, een klassenhiërarchie is in de volksmond bekend als de hiërarchieboom, het toont de relatie en volgorde van objecten.
- De diepte van een hiërarchie hindert de overerving van een klassevariabele en -methode niet op het hiërarchische niveau
Veelvoorkomend misbruik van hiërarchie
- Zowel object als klasse hiërarchie hetzelfde zijn, vervullen ze dezelfde rol in een programmeertaal.
- De diepte van een hiërarchie belemmert de overerving van instantievariabele en methode op een lager niveau