Tärkein ero - aggregaatio vs. koostumus
Kohdekeskeinen ohjelmointi (OOP) on yleinen paradigma ohjelmistokehityksessä. Objekti on luokan esiintymä. Kohteita ei voida luoda kerralla. Objektin luomiseen on oltava suunnitelma tai kuvaus. Tuo suunnitelma tunnetaan luokassa. Luokka sisältää ominaisuuksia ja menetelmiä. Objektit luodaan luokkien avulla. Luokka ja esine ovat samanlaisia kuin suunnitelma ja talo todellisessa maailmassa. Taloa ei voida rakentaa ilman asianmukaista suunnitelmaa. Samoin luokkaa käytetään objektin luomiseen. Kohde tekee yhteistyötä muiden objektien kanssa. Linkki kanssa edustaa kahden tai useamman objektin suhdetta kutsutaan "assosiaatioksi". Kokoonpano ja kokoonpano ovat assosiaatioita. Ne kuvaavat luokkien välistä suhdetta. Tässä artikkelissa käsitellään aggregaation ja koostumuksen välistä eroa. Keskeinen ero aggregaation ja koostumuksen välillä on, että aggregaatio on kahden objektin välinen assosiaatio, joka kuvaa "on" -suhdetta ja koostumus on spesifisempi aggregaattityyppi, joka merkitsee omistusta.
SISÄLLYS
1. Yleiskatsaus ja keskeinen ero
2. Mikä on aggregaatio
3. Mikä on koostumus
4. Yhdistämisen ja koostumuksen yhtäläisyydet
5. Vertailu vierekkäin - aggregaatio vs. koostumus taulukkomuodossa
6. Yhteenveto
Mikä on yhdistäminen?
Kahden objektin välinen suhde näytetään piirtämällä viiva Unified Modeling Language (UML) -muodossa. Linkki on yhdistys. UML auttaa saamaan järjestelmän visuaalisen esityksen. Se on erilainen kuin tavalliset ohjelmointikielet. Assosiaatio määrittelee myös esineiden moninaisuuden. He ovat yksi yhteen, yksi moniin ja monet moniin. Kun luokan A yksittäinen kohde liittyy luokan B yksittäiseen objektiin, se on henkilökohtainen suhde. Esimerkiksi kirjailija, joka kirjoittaa kirjan. Tässä esimerkissä yksi kirjailija kirjoittaa kirjaa.
Kun yksi luokan A esine liittyy moniin luokan B kohteisiin, se on yksi moniin -suhde. Esimerkiksi osastolla voi olla monia työntekijöitä. Kun luokan A kohde liittyy moniin luokan B objekteihin ja luokan B esine liittyy moniin luokan A objekteihin, se on assosiaatio monista moniin. Yksi esimerkki on, että työntekijä voi työskennellä useissa projekteissa ja projektissa voi olla useita työntekijöitä.
Aggregaatio on tyyppinen assosiaatio, joka kuvaa paremmin objektien välistä suhdetta. Yhdistelmä kuvaa "on" -suhdetta. Joitakin suhdetta kuvaavia esimerkkejä ovat: opiskelijalla "on" opiskelijan tunnus, ajoneuvolla "moottori". Suhteella on myös mahdollista laajentaa suurta määrää. Joitakin esimerkkejä ovat: pankilla on "monia" pankkitilejä, luokassa on "monia" opiskelijoita. Se voidaan selittää käyttämällä alla olevaa esimerkkiä.
Kuva 01: Yhdistäminen
Yllä olevan esimerkin mukaan luokkahuone koostuu opiskelijasta tai monista opiskelijoista. Moninaisuutta käytetään myös osoittamaan esineiden lukumäärä. Siinä kuvataan, että yhdessä luokassa on useita opiskelijoita. Timantin symboli edustaa yhdistämistä UML: ssä. Opiskelijaobjektit eivät ole riippuvaisia luokan objektista. Jos luokan esine tuhotaan, se ei vaikuta oppilasobjekteihin. Nuo esineet ovat edelleen olemassa.
Mikä on kokoonpano?
Koostumus on spesifisempi aggregaation muoto. Se kuvaa omistusta. Se voidaan selittää käyttämällä alla olevaa esimerkkiä.
Kuva 02: Koostumus
Edellä esitetyn mukaan kirjaobjekti koostuu sivuobjektista tai sivuista. Moninaisuutta käytetään myös osoittamaan esineiden lukumäärä. Siinä kuvataan, että yhdessä luokassa on useita opiskelijoita. Korostettu timanttisymboli edustaa sävellystä UML: ssä. Koska kirjassa on sivu tai useita sivuja, se on yhdistelmä, mutta se on tarkemmin määritelty. Jos kirjaobjekti tuhoutuu, myös sivuesineet tuhoutuvat. Sivuobjekteja ei voi olla ilman kirjaobjektia. Siksi koostumus on spesifisempi yhdistelmän muoto, joka merkitsee omistusta.
Mitkä ovat yhtenevyyden yhdistämisen ja koostumuksen välillä?
- Molempia käytetään olio-ohjelmoinnissa.
- Molempia käytetään Unified Modeling Language (UML) -järjestelmässä visuaalisen käsityksen saamiseksi järjestelmästä.
Mikä on ero aggregaation ja koostumuksen välillä?
Erilainen artikkeli keskellä taulukkoa
Kokoonpano vs. koostumus |
|
Aggregaatio on kahden objektin välinen assosiaatio, joka kuvaa "on" -suhdetta. | Koostumus on spesifisin yhdistämistyyppi, joka merkitsee omistajuutta. |
UML-symboli | |
Kokoonpano on merkitty timantilla. | Koostumus on merkitty korostetulla timantilla. |
Toiminnallisuus | |
Kaiken kaikkiaan, jos omistava esine tuhoutuu, se ei vaikuta sisältävään esineeseen. | Koostumuksessa, jos omistava esine tuhoutuu, se vaikuttaa sisältävään esineeseen. |
Yhteenveto - aggregaatio vs. koostumus
Kohdesuuntautunut ohjelmointi on merkittävä paradigma ohjelmistokehityksessä. OOP: ssa järjestelmä mallinnetaan objektien avulla. Näitä esineitä ei ole erillään. Objektit tekevät yhteistyötä muiden objektien kanssa. Objektien suhde tunnetaan yhdistelmänä. Yhdistäminen ja koostumus ovat yhdistystyyppejä. Ero aggregaation ja koostumuksen välillä on se, että aggregaatio on kahden objektin välinen assosiaatio, joka kuvaa "on" -suhdetta ja koostumus on spesifisempi aggregaattityyppi, joka merkitsee omistusta. Yhdistäminen ja koostumus auttavat ymmärtämään järjestelmän käyttäytymistä.
Lataa Aggregation vs Composition PDF-versio
Voit ladata tämän artikkelin PDF-version ja käyttää sitä offline-tarkoituksiin lainausviestin mukaan. Lataa PDF-versio tästä Ero aggregaation ja koostumuksen välillä