Verschil tussen aggregatie en compositie in Java

Inhoudsopgave:

Verschil tussen aggregatie en compositie in Java
Verschil tussen aggregatie en compositie in Java

Video: Verschil tussen aggregatie en compositie in Java

Video: Verschil tussen aggregatie en compositie in Java
Video: Java: Object-Oriented Programming Concepts: Associations, Aggregation & Composition| packtpub.com 2024, November
Anonim

Belangrijk verschil - Aggregatie versus compositie in Java

Aggregatie is een associatie tussen twee objecten die de "heeft-een"-relatie beschrijft. De samenstelling is het meer specifieke type aggregatie dat eigendom impliceert. Het belangrijkste verschil tussen aggregatie en compositie in Java is dat, als het ingesloten object kan bestaan zonder het bestaan van het eigendomsobject, het een aggregatie is, en als het ingesloten object niet kan bestaan zonder het bestaan van het bezittende object, het een compositie is.

Object-Oriented Programming (OOP) is een belangrijk paradigma in softwareontwikkeling. Het wordt gebruikt om de software te modelleren met behulp van objecten. De objecten worden gemaakt met behulp van klassen. Een klasse bestaat uit eigenschappen en methoden. Er zijn meerdere objecten in software. Elk object werkt met elkaar samen door middel van het doorgeven van berichten. De relatie tussen twee objecten staat bekend als een associatie. Zowel aggregatie als samenstelling zijn twee soorten associaties. De "has-a"-relatie beschrijft dat het ene object een ander object kan gebruiken. Aggregatie en samenstelling kunnen worden geïmplementeerd in OOP-ondersteunende talen. Als het ingesloten object kan bestaan zonder het bestaan van het bezittende object, dan is de associatie tussen die twee objecten een aggregatie. Als het ingesloten object niet kan bestaan zonder het bestaan van het bezittende object, dan is de associatie tussen die twee objecten een compositie.

Wat is aggregatie in Java?

Aggregatie is een soort associatie. Als een klasse een entiteitsreferentie heeft, staat dit bekend als aggregatie. Aggregatie vertegenwoordigt de heeft-een relatie. Een Student-object kan eigenschappen hebben zoals student_id, naam, adres. Dit object kan ook een ander object hebben met de naam adres met zijn eigen informatie zoals stad, staat, land. In deze situatie heeft de Student een referentieadres van de entiteit. Het is een "heeft-een"-relatie.

Verschil tussen aggregatie en samenstelling in Java
Verschil tussen aggregatie en samenstelling in Java

Figuur 01: Markeert Klasse

Verschil tussen aggregatie en samenstelling in Java
Verschil tussen aggregatie en samenstelling in Java

Figuur 02: Hoofdprogramma om aggregatie te beschrijven

Volgens het bovenstaande programma bestaan de klassecijfers uit drie eigenschappen die wiskunde, Engels en wetenschap zijn. De student heeft een object van Marks. Het heeft zijn eigen eigenschappen die kenmerkend zijn voor wiskunde, Engels en wetenschap. In de hoofdmethode wordt een object van Marks gemaakt en worden er merkwaarden toegekend. Het studentobject dat s1 is, kan het marks-object gebruiken dat m1 is. Daarom hebben de Student en Marks de "heeft-een"-relatie. Het Marks-object kan bestaan zonder het Student Object. Daarom is het een aggregatie.

Wat is compositie in Java?

Compositie is een soort associatie. Het is een specifieke vorm van aggregatie die eigendom impliceert. Stel dat er twee klassen zijn die klasse A en B worden genoemd. Als het object van klasse B niet kan bestaan als het object van klasse A wordt vernietigd, dan is dat een compositie. Een boek bestaat uit vele pagina's. Als het boek wordt vernietigd, worden de pagina's ook vernietigd. De pagina-objecten kunnen niet bestaan zonder het boekobject. Raadpleeg het onderstaande programma.

Verschil tussen aggregatie en compositie in Java_Figuur 03
Verschil tussen aggregatie en compositie in Java_Figuur 03

Figuur 03: Klaslokaal

Verschil tussen aggregatie en compositie in Java_Figuur 04
Verschil tussen aggregatie en compositie in Java_Figuur 04

Figuur 04: Schoolklas

Belangrijkste verschil tussen aggregatie en samenstelling in Java
Belangrijkste verschil tussen aggregatie en samenstelling in Java

Figuur 05: Hoofdprogramma om compositie te beschrijven

Volgens het bovenstaande programma heeft het Klaslokaal twee eigenschappen, namelijk name en numOfStudents. De School is een verzameling Classroom-objecten. In de hoofdmethode worden twee Classroom-objecten gemaakt. Die worden toegevoegd aan ‘klaslokalen’. Deze ‘klaslokalen’ worden doorgegeven aan het schoolobject. Ten slotte worden de naam van de klas en het aantal leerlingen afgedrukt door de verzameling te doorlopen. Als het School-object wordt vernietigd, worden de Classroom-objecten ook vernietigd. Dit is een voorbeeld van compositie. Het bevat ook de relatie 'heeft-een' en impliceert ook eigendom.

Wat is de relatie tussen aggregatie en compositie in Java?

Aggregatie en compositie zijn twee soorten associaties en compositie is een gespecialiseerd type aggregatie. Compositie is een subset van Aggregation

Wat is het verschil tussen aggregatie en compositie in Java?

Aggregatie versus compositie in Java

Aggregatie is een associatie tussen twee objecten die de relatie "heeft een" beschrijft. Samenstelling is een meer specifiek type aggregatie dat eigendom impliceert.
Gebruik
Aggregatie wordt gebruikt wanneer een object een ander object gebruikt. Compositie wordt gebruikt wanneer een object eigenaar is van een ander object.
Invloed op objecten
Gezamenlijk heeft het vernietigen van het eigendomsobject geen invloed op het bevattende object. In compositie heeft het vernietigen van het bezitsobject invloed op het bevattende object.

Samenvatting – Aggregatie versus compositie in Java

Aggregatie en compositie zijn twee concepten in OOP. De "has-a"-relatie beschrijft dat het ene object een ander object kan gebruiken. Aggregatie is een associatie tussen twee objecten die de "has-a"-relatie beschrijft. Samenstelling is een meer specifiek type aggregatie dat eigendom impliceert. Het verschil tussen aggregatie en compositie in Java is dat, als het ingesloten object kan bestaan zonder het bestaan van het bezittende object, het een aggregatie is en als het ingesloten object niet kan bestaan zonder het bestaan van het bezittende object, het een compositie is.

Aanbevolen: