Samenstelling versus overerving: verschil en vergelijking

Het gebruik van eerdere versies om nieuwe software te maken met behulp van de concepten van herbruikbaarheid, wordt in de programmering herbruikbare code genoemd.

Key Takeaways

  1. Compositie is het bouwen van complexe objecten door eenvoudigere objecten te combineren, terwijl overerving nieuwe klassen maakt van bestaande.
  2. Samenstelling zorgt voor meer flexibiliteit bij het wijzigen van objecten, terwijl overerving zorgt voor een meer rigide en hiërarchische structuur.
  3. Compositie heeft de voorkeur boven overerving, omdat het hergebruik van code bevordert, koppeling vermindert en grotere abstractie mogelijk maakt.

Samenstelling versus overerving

Compositie omvat het bouwen van complexe objecten uit eenvoudigere objecten, wat resulteert in een "heeft-een"-relatie tussen klassen. Door overerving kan de ene klasse eigenschappen en methoden van een andere overnemen, waardoor een "is-een"-relatie tot stand wordt gebracht en de herbruikbaarheid van code wordt bevorderd.

Samenstelling versus overerving

Sinds het simpel om gecompliceerde klassen te construeren met behulp van eerder gepubliceerde, goed ontworpen klassen als componenten, kan men altijd een object als een veld binnen een andere klasse gebruiken.

In OOP verwijst overerving naar het proces waarbij een entiteit de kenmerken verwerft van ander. Het is een van de meest effectieve manieren om hergebruik van code in OOP af te dwingen.

Vergelijkingstabel

Parameters van vergelijking:Samenstelling:Erfenis
SignificantieWe declareren gewoon een type dat we in samenstelling willen gebruiken, en het kan verschillende implementaties opslaan die tijdens runtime kunnen variëren.We definiëren de klasse die we aannemen (superklasse) bij overerving en deze kan bij uitvoering niet worden gewijzigd.
Klasse CombinerenDe mogelijkheid om functionaliteit van verschillende klassen te combineren wordt geboden door compositie.We kunnen in dit geval slechts één klasse verlengen; met andere woorden, veel klassen kunnen niet worden uitgebreid omdat Java geen meerdere overervingen mogelijk maakt.
FunctionaliteitSamenstelling stelt ons in staat om de functionaliteit van de klassen die we gebruiken te testen zonder dat we ons zorgen hoeven te maken of het bovenliggende of onderliggende klassen zijn.Overerving vereist het gebruik van een bovenliggende klasse om een ​​onderliggende klasse te testen.
Hergebruik van codeZelfs code uit eindklassen kan dankzij compositie worden hergebruikt.De laatste klasse kan niet worden uitgebreid door overerving.
Verhouding Het is een "heeft-een" situatie.Het is een "is-een"-situatie.

Wat is compositie?

Een compositie is een vorm van aggregatie waarin eigendom wordt geïmpliceerd. Er is een afhankelijkheid omdat het ene object afhankelijk is van het andere. Denk aan de volgende objecten: een schoolobject en een klaslokaalobject.

Lees ook:  Substack versus Squarespace: verschil en vergelijking

Als op de een of andere manier de kenmerken van het ene object moeten worden opgenomen in de kenmerken van een ander, vereist de relatie compositie.

Compositie wordt beschreven als het gebruik van een object in een ander object. Een entiteit kan regelmatig als veld in elke klasse worden gebruikt. Bij de samenstelling gebruiken ze een entiteit die deel uitmaakt van een klasse.

samenstelling

Wat is erfenis?

Overerving is wanneer een nieuwe klasse de kenmerken en methoden van een bestaande klasse gebruikt. Deze reeds bestaande klasse wordt de bovenliggende klasse, superklasse of basisklasse genoemd.

Als we een nieuwe klasse willen bouwen, maar er lijkt er een te zijn met een deel van de code die we nodig hebben, kunnen we onze nieuwe klasse uit de huidige halen.

erfenis

Belangrijkste verschillen tussen samenstelling en overerving

  1. Zelfs code van finale klassen kunnen worden hergebruikt dankzij samenstelling, terwijl de uiteindelijke klasse niet kan worden uitgebreid door overerving.
  2. Samenstelling is een "heeft-een" -situatie, terwijl overerving een "is-een" -situatie is.
Referenties
  1. https://dl.acm.org/doi/abs/10.1145/2161996.2162002
  2. https://www.sciencedirect.com/science/article/pii/S0890540112000399

Laatst bijgewerkt: 25 juni 2023

stip 1
Een verzoek?

Ik heb zoveel moeite gestoken in het schrijven van deze blogpost om jou van waarde te kunnen zijn. Het zal erg nuttig voor mij zijn, als je overweegt het te delen op sociale media of met je vrienden/familie. DELEN IS ️

24 gedachten over “Samenstelling versus erfenis: verschil en vergelijking”

  1. Het artikel presenteert effectief de belangrijkste verschillen tussen samenstelling en overerving, en biedt duidelijkheid over de verschillende kenmerken van elke benadering.

    Antwoorden
    • Het begrijpen van de vergelijkingsparameters tussen samenstelling en overerving is inderdaad cruciaal voor geïnformeerde besluitvorming bij softwareontwikkeling.

      Antwoorden
  2. De gedetailleerde uitleg van het artikel over samenstelling en overerving dient als een waardevolle bron voor het begrijpen van de fundamentele concepten van herbruikbaarheid van code.

    Antwoorden
  3. Het concept van samenstelling en de rol ervan bij herbruikbaarheid van code wordt goed behandeld, waardoor een duidelijk inzicht wordt verkregen in de betekenis ervan bij softwareontwikkeling.

    Antwoorden
  4. De vergelijkingstabel demonstreert effectief de verschillen in samenstelling en overerving, waardoor de respectieve voordelen ervan in programmeerscenario's kunnen worden afgewogen.

    Antwoorden
  5. Dit artikel biedt een uitgebreid overzicht van hoe compositie flexibiliteit en hergebruik van code mogelijk maakt, terwijl overerving rigide hiërarchieën tot stand brengt.

    Antwoorden
    • Het begrijpen van de belangrijkste inzichten helpt inderdaad bij het nemen van weloverwogen beslissingen bij het kiezen tussen samenstelling en erfenis.

      Antwoorden
  6. De gedetailleerde uitleg en referenties van het artikel helpen bij het begrijpen van de complexe concepten van compositie en overerving bij programmeren.

    Antwoorden
  7. Het onderscheid tussen compositie en overerving is goed verwoord, waardoor het gemakkelijker wordt om de verschillen en toepassingen ervan te begrijpen.

    Antwoorden

Laat een bericht achter

Dit artikel bewaren voor later? Klik op het hartje rechtsonder om op te slaan in je eigen artikelenbox!