Wat is het verschil tussen samenstelling en vererving?
Wat is het verschil tussen samenstelling en vererving?

Video: Wat is het verschil tussen samenstelling en vererving?

Video: Wat is het verschil tussen samenstelling en vererving?
Video: Wanneer schrijf je een tussen-n? 2024, Maart
Anonim

hoewel beide Erfenis en Composition biedt herbruikbaarheid van de code, main verschil tussen Compositie en Erfenis op Java is dat Samenstelling staat toe hergebruik van code zonder deze uit te breiden, maar voor overerving moet u verlengen de klasse voor elk hergebruik van code of functionaliteit.

Vervolgens kan men zich ook afvragen, welke is beter overerving of samenstelling?

1) Een reden van begunstiging Samenstelling over Erfenis in Java is het feit dat Java meerdere niet ondersteunt erfenis . 2) Samenstelling aanbiedingen beter testvermogen van een klasse dan Erfenis . Indien een klasse is samengesteld uit een andere klasse, kunt u eenvoudig een mock-object maken dat de samengestelde klasse vertegenwoordigt om te testen.

En wat is compositie in objectgeoriënteerd programmeren? Samenstelling is een van de fundamentele concepten in object - georiënteerd programmeren . Het beschrijft een klasse die verwijst naar een of meer voorwerpen van andere klassen in instantievariabelen. Hiermee kunt u een heeft-a-associatie modelleren tussen voorwerpen . Je kunt dergelijke relaties vrij regelmatig vinden in de echte wereld.

Met dit in het achterhoofd, wat betekent compositie boven overerving?

Samenstelling over overerving (of samengesteld hergebruikprincipe) in objectgeoriënteerd programmeren (OOP) is het principe dat klassen polymorf gedrag en codehergebruik moeten bereiken door hun samenstelling (door instanties van andere klassen te bevatten die de gewenste functionaliteit implementeren) in plaats van erfenis vanaf een basis

Is aggregatie een erfenis?

Erfenis : breid de functionaliteit van een klasse uit door een subklasse aan te maken. Overschrijf leden van superklassen in de subklassen om nieuwe functionaliteit te bieden. Aggregatie : creëer nieuwe functionaliteit door andere klassen te nemen en deze te combineren tot een nieuwe klasse.

Aanbevolen: