Verschil tussen aggregatie en compositie

Inhoudsopgave:

Verschil tussen aggregatie en compositie
Verschil tussen aggregatie en compositie

Video: Verschil tussen aggregatie en compositie

Video: Verschil tussen aggregatie en compositie
Video: Cheatsheet of Relationships between classes in a minute! UML - Aggregation, Composition and more! 2024, November
Anonim

Belangrijk verschil - Aggregatie versus compositie

Object-Oriented Programming (OOP) is een veelvoorkomend paradigma in softwareontwikkeling. Het object is een instantie van een klasse. Het is niet mogelijk om objecten in één keer aan te maken. Er moet een blauwdruk of een beschrijving zijn om een object te maken. Die blauwdruk staat bekend als een klasse. Een klasse bevat eigenschappen en methoden. Objecten worden gemaakt met behulp van klassen. Klasse en object zijn vergelijkbaar met een plan en huis in de echte wereld. Het is niet mogelijk om een huis te bouwen zonder een goed plan. Evenzo wordt een klasse gebruikt om een object te maken. Een object werkt samen met andere objecten. Een link met vertegenwoordigt de relatie van twee of meer objecten wordt een "associatie" genoemd. Aggregatie en samenstelling zijn soorten associaties. Ze beschrijven de relatie tussen klassen. Dit artikel bespreekt het verschil tussen aggregatie en samenstelling. Het belangrijkste verschil tussen aggregatie en compositie is dat aggregatie een associatie is tussen twee objecten die de relatie "heeft een" beschrijft, en compositie een meer specifiek type aggregatie is dat eigendom impliceert.

Wat is aggregatie?

Een relatie tussen twee objecten wordt weergegeven door een lijn te tekenen in Unified Modeling Language (UML). De link is een associatie. UML helpt om een visuele weergave van het systeem te krijgen. Het is anders dan reguliere programmeertalen. Associatie definieert ook de veelheid van objecten. Ze zijn één-op-één, één-op-veel en veel-op-veel. Wanneer een enkel object van klasse A is gekoppeld aan het enkele object van klasse B, is dat een één-op-één-relatie. Een voorbeeld is een auteur die een boek schrijft. In dat voorbeeld schrijft een auteur een boek.

Als een object van klasse A wordt geassocieerd met veel objecten van klasse B, is het een één-op-veel-relatie. Een voorbeeld is dat een afdeling veel medewerkers kan hebben. Wanneer het object van klasse A is gekoppeld aan veel objecten van klasse B en een object van klasse B is gekoppeld aan veel objecten van klasse A, is het een veel-op-veel-associatie. Een voorbeeld is dat een medewerker aan meerdere projecten kan werken en een project kan meerdere medewerkers hebben.

Aggregatie is typeassociatie die de relatie tussen objecten verder beschrijft. Aggregatie beschrijft "heeft een" relatie. Enkele voorbeelden die de relatie beschrijven zijn, een student "heeft een" student-ID, een voertuig "heeft een" motor. Het is ook mogelijk om een grote hoeveelheid uit te breiden met de relatie. Enkele voorbeelden zijn, een bank "heeft veel" bankrekeningen, een klas "heeft veel" studenten. Het kan worden uitgelegd aan de hand van het onderstaande voorbeeld.

Verschil tussen aggregatie en samenstelling
Verschil tussen aggregatie en samenstelling

Figuur 01: Aggregatie

Volgens het bovenstaande voorbeeld bestaat het klaslokaal uit één of meerdere studenten. Multipliciteit wordt ook gebruikt om het aantal objecten aan te geven. Het beschrijft dat één klas meerdere leerlingen heeft. Het symbool van de diamant vertegenwoordigt de aggregatie in UML. Studentobjecten zijn niet afhankelijk van het klasseobject. Als het klasseobject wordt vernietigd, heeft dit geen invloed op de studentobjecten. Die objecten zullen nog steeds bestaan.

Wat is compositie?

De compositie is een meer specifieke vorm van aggregatie. Het beschrijft het eigendom. Het kan worden uitgelegd aan de hand van het onderstaande voorbeeld.

Belangrijkste verschil tussen aggregatie en samenstelling
Belangrijkste verschil tussen aggregatie en samenstelling

Figuur 02: Compositie

Volgens het bovenstaande bestaat het boekobject uit pagina-object of pagina's. Multipliciteit wordt ook gebruikt om het aantal objecten aan te geven. Het beschrijft dat één klas meerdere leerlingen heeft. Het symbool van diamant dat is gemarkeerd, vertegenwoordigt de compositie in UML. Omdat het boek een pagina of meerdere pagina's heeft, is het een aggregatie, maar het is meer gespecificeerd. Als het boekobject wordt vernietigd, worden de paginaobjecten ook vernietigd. Pagina-objecten kunnen niet bestaan zonder het boekobject. Daarom is de compositie een meer specifieke vorm van een aggregatie die eigendom impliceert.

Wat zijn de overeenkomsten tussen aggregatie en compositie?

  • Beide worden gebruikt in objectgeoriënteerd programmeren.
  • Beide worden gebruikt in Unified Modeling Language (UML) om een visueel begrip van het systeem te krijgen.

Wat is het verschil tussen aggregatie en compositie?

Aggregatie versus compositie

Aggregatie is een associatie tussen twee objecten die de relatie "heeft een" beschrijft. De samenstelling is het meest specifieke type aggregatie dat eigendom impliceert.
UML-symbool
Aggregatie wordt aangegeven met een diamant. Compositie wordt aangegeven met een gemarkeerde diamant.
Functionaliteit
Samengevat, als het eigendomsobject wordt vernietigd, heeft dit geen invloed op het bevattende object. In compositie, als het eigendomsobject wordt vernietigd, heeft dit invloed op het bevattende object.

Samenvatting – Aggregatie versus compositie

Objectgeoriënteerd programmeren is een belangrijk paradigma in softwareontwikkeling. In OOP wordt het systeem gemodelleerd met behulp van objecten. Deze objecten staan niet op zichzelf. Objecten werken samen met andere objecten. De relatie tussen objecten staat bekend als associatie. Aggregatie en samenstelling zijn soorten associatie. Het verschil tussen aggregatie en samenstelling is dat aggregatie een associatie is tussen twee objecten die de relatie "heeft een" beschrijft, en samenstelling is het meer specifieke type aggregatie dat eigendom impliceert. Aggregatie en samenstelling helpen beide om het gedrag van het systeem te begrijpen.

Download de PDF-versie van Aggregation vs Composition

U kunt de PDF-versie van dit artikel downloaden en gebruiken voor offline doeleinden volgens de citatienota. Download hier de PDF-versie. Verschil tussen aggregatie en compositie

Aanbevolen: