Objektorienteret programmering er et fælles paradigme, der bruges til softwareudvikling. Objektet er en forekomst af en klasse, der er oprettet af klasser. Objekterne samarbejder med hinanden gennem Links. Links er den fysiske og konceptuelle forbindelse der eksisterer mellem objekter. En samling af links med lignende struktur og semantik er beskrevet som en forening .
Sammenligningstabel
Grundlag for sammenligning | Sammenlægning | Sammensætning |
---|---|---|
Grundlæggende | I aggregering udviser der et forhold, hvor et barn kan eksistere uafhængigt af forældrene. | I sammensætning kan den ikke eksistere uafhængigt af forældrene. |
Type forhold | "har en" | "del af" |
Foreningstype | Svag forening | Stærk tilknytning |
UML design symbol | Repræsenteret af en hul diamant ved siden af monteringsklassen. | Repræsenteret af en solid diamant ved siden af monteringsklassen. |
Fungere | Slettelsen af samlingen påvirker ikke dens dele. | Hvis ejerklasseobjektet slettes, kan det betydeligt påvirke det indeholdende klasseobjekt. |
Definition af aggregering
Aggregation kan defineres som et forhold til en samlingsklasse til den klassiske klasse. Forholdet mellem to objekter kan repræsenteres ved at tegne et linjesegment i UML (Unified Modeling Language).
For eksempel består en bil af hjul, motor, gearkasse, styring, hoveddel osv. En bil er en samling, og de andre dele er dens bestanddele. Bil til hjul er en aggregering, bil til motorer er en anden aggregering og så videre. Hver enkelt parring er defineret for at angive multiplikationen af hver bestanddel i samlingen som et resultat kan antallet af objekter også afbildes.
Sammensætningen er en type forening, der beskriver en "har en" type forhold mellem objekterne. For eksempel har en bil "en" gearkasse, og en bil "har en" motor " . For det ene til mange forhold er et eksempel en bil "har" mange hjul .
Definition af sammensætning
Sammensætningen er også en type forening men en mere restriktiv form. Det er repræsenteret i UML ved en lille solid diamant støder op til samlingsklassen.
Således betyder sammensætning ejerskab af den bestanddel af hele. Dette vil i sidste ende øge bekvemmeligheden for programmeringen. Sammensætningen kan udløse deletionen af den bestandige genstand ved sletning af en samlingsobjekt.
Sammensætningen beskriver et "del af" forhold. For eksempel er et blad en del af et træ, hvis træet er ødelagt, så skal bladene blive ødelagt.
Nøgleforskelle mellem aggregering og sammensætning
- Sammensætning angiver et forhold, hvor et barn og en forælder kan eksistere uafhængigt. Modsat er barnetheden afhængig af moderen i sammensætning.
- I aggregering eksisterer der et "har et" forhold, mens der i sammensætningen er en "del af" relation mellem samlingen og bestanddelene af klasse.
- Sammenslutning er svag forening, mens sammensætningen er en stærk forening, fordi den har flere begrænsninger.
- I UML-design beskrives aggregeringen af en hul diamant. I modsætning hertil er sammensætningen afbildet af en fast diamant.
Konklusion
I aggregering har de bestanddele den uafhængige eksistens og kan deles eller omfordeles til aggregater eller dens samling. På den anden side tilhører den bestanddel i sammensætning den nøjagtige en samling eller aggregat. Desuden er delen oprettet, når aggregatet er dannet, og delen ødelægges, når aggregatet ødelægges.