Skip to main content

Wat is samenstelling boven erfenis?

Samenstelling over overerving is een programmeermethode die wordt gebruikt in objectgeoriënteerde programmeertalen om meer dynamische en veranderlijke relaties tussen objecten in een toepassing aan te gaan.Het basisformaat voor samenstelling boven overerving is de opname van een exemplaar van een object in een ander object.Dit verschilt duidelijk van de objectgeoriënteerde methode van overerving, maar kan in veel modellen hetzelfde doel dienen.De voordelen van samenstelling ten opzichte van overerving omvatten goed gedefinieerde randen tussen de samengestelde objecten en de wrapper-objecten, de mogelijkheid om de implementatie van een object te wijzigen zonder een volledige erfenishiërarchie te beïnvloeden en een minder beperkend kader voor het eerste programma-ontwerp.Overerving is een centraal mechanisme in objectgeoriënteerde programmering en stelt één object in staat om alle gegevens en methoden van zijn ouder te erven, die het vervolgens kan toevoegen, wijzigen of uitbreiden met zijn eigen implementatie.Een voorbeeld van ontwerp op basis van overerving kan zijn met een programma met één hoofdklasse die een auto en modelleert enkele generieke attributen van alle auto's.De klasse voor elk individueel auto wordt vervolgens gemaakt als een afstammeling van de hoofdklasse, maar definieert specifieke informatie, zoals de motorkapitaal, brandstofcapaciteit of andere informatie die specifiek is voor dat specifieke auto.

Samenstelling wordt uitgedrukt door object op te nemengevallen binnen andere objecten.Als er een hoofdklasse is die een generieke auto definieert, dan kan de hoofdklasse in plaats van subklassen te maken voor specifieke autoferken, in plaats daarvan instanties van andere objecten die de auto specifieker definiëren.Dit kan betekenen dat de hoofdauto -klasse een object voor het motortype kan bevatten en één voor de brandstofcapaciteit, die zou worden ingesteld wanneer de klasse wordt gebruikt om een exemplaar van een specifiek merk van de auto te maken.

Met samenstelling boven erfenis, hetObjecten die in de hoofdklasse zijn opgenomen, zijn niet direct gerelateerd aan de hoofdklasse, waardoor ontwikkelaars de vrijheid krijgen om te veranderen hoe individuele objecten werken.Een probleem dat samenstelling boven erfenis kan helpen om te voorkomen, is een situatie waarin een erfenisboom buitensporig diep kan zijn, wat betekent dat alle wijzigingen in een klasse in de boom veranderingen door de lengte van de boom kunnen vereisen.Niet alle objectgeoriënteerde talen hebben ondersteuning voor meerdere erfenis, en samenstelling boven overerving is een methode die kan worden gebruikt om deze beperking te omzeilen.