Objektorientert programmering er et vanlig paradigme som brukes i programvareutvikling. Objektet er en forekomst av en klasse som er opprettet av klasser. Objektene samarbeider med hverandre gjennom Links. Lenker er den fysiske og konseptuelle forbindelsen mellom objekter. En samling av lenker som har lignende struktur og semantikk er beskrevet som en forening .
Sammenligningstabel
Grunnlag for sammenligning | aggregering | sammensetning |
---|---|---|
grunn~~POS=TRUNC | I aggregering er det et forhold der et barn kan eksistere uavhengig av foreldrene. | I sammensetning kan ikke eksistere uavhengig av foreldre. |
Type forhold | "har en" | "del av" |
Foreningstype | Svak forening | Sterk tilknytning |
UML design symbol | Representert av en hul diamant ved siden av monteringsklassen. | Representert av en solid diamant ved siden av monteringsklassen. |
Funksjon | Slettingen av samlingen påvirker ikke dens deler. | Hvis eierskapsobjektet slettes, kan det påvirke det inneholdende klassobjektet betydelig. |
Definisjon av aggregering
Aggregasjon kan defineres som et forhold til en samlingsklasse til komponentklasse. Forholdet mellom to objekter kan representeres ved å tegne et linjesegment i UML (Unified Modeling Language).
For eksempel består en bil av hjul, motor, girkasse, styring, hoveddel, etc. En bil er en montering, og de andre delene er dens bestanddeler. Bil til hjul er en aggregering, bil til motorer er en annen aggregering, og så videre. Hver enkelt sammenkobling er definert for å angi multipliteten av hver bestanddel i forsamlingen som et resultat, antall objekter kan også avbildes.
Sammensetningen er en type forening som beskriver en "har en" type forhold mellom objektene. For eksempel har en bil "en" girkasse, og en bil "har en" motor " . For et-til-mange forhold, er et eksempel en bil "har" mange hjul .
Definisjon av sammensetning
Sammensetningen er også en type forening, men en mer restriktiv form. Den er representert i UML med en liten solid diamant i tilknytning til monteringsklassen.
Dermed betyr sammensetning eierskap av den bestanddel av hele. Dette vil i siste instans øke bekvemmeligheten for programmeringen. Sammensetningen kan utløse slettingen av den gjenstandsobjekt ved sletting av en samlingsobjekt.
Sammensetningen beskriver et "del av" forhold. For eksempel er et blad en del av et tre, hvis treet er ødelagt, må bladene bli ødelagt.
Viktige forskjeller mellom aggregering og sammensetning
- Samling viser et forhold der et barn og foreldre kan eksistere uavhengig av hverandre. I motsetning til, i sammensetningen, er barnetheten avhengig av foreldrene.
- I aggregering eksisterer det et "har" forhold, mens det i sammensetningen er et "del av" forhold mellom forsamlings- og komponentobjektene.
- Aggregasjon er svak forening mens sammensetningen er en sterk forening fordi den har flere begrensninger.
- I UML-design er aggregasjonen beskrevet av en hul diamant. I motsetning er sammensetningen avbildet av en solid diamant.
Konklusjon
Samlet sett har de bestanddelene den uavhengige eksistensen og kan deles eller tilordnes til aggregater eller samlingen. På den annen side, i sammensetningen, tilhører den bestanddel nøyaktig en samling eller aggregat. Videre er delen opprettet når aggregatet dannes, og delen blir ødelagt når aggregatet er ødelagt.