Yhdistäminen on kahden objektin välinen assosiaatio, joka kuvaa “on-a” -suhdetta. Yhdistelmä on tarkempi yhdistelmätyyppi, joka merkitsee omistajuutta. avainero yhdistämisen ja koostumuksen välillä Java on se, jos sisältyy esine voi esiintyä ilman omistavan esineen olemassaoloa, se on yhdistelmä, ja jos sisältyy esine ei voi olla olemassa ilman omistavaa esinettä, se on koostumus.
Object-Oriented Programming (OOP) on merkittävä paradigma ohjelmistokehityksessä. Sitä käytetään ohjelmiston mallintamiseen objektien avulla. Objektit luodaan luokkien avulla. Luokka koostuu ominaisuuksista ja menetelmistä. Ohjelmistossa on useita objekteja. Jokainen esine toimii yhteistyössä keskenään viestin kuljettamisen kautta. Kahden esineen välinen suhde tunnetaan yhdistyksenä. Sekä yhdistäminen että koostumus ovat kahden tyyppisiä assosiaatioita. "Has-a" -suhde kuvaa, että yksi objekti voi käyttää toista objektia. Yhdistäminen ja koostumus voidaan toteuttaa OOP-tukikielillä. Jos sisältyy esine voi esiintyä ilman omistavaa objektia, silloin näiden kahden objektin välinen assosiaatio on yhdistelmä. Jos sisältyy esine ei voi olla olemassa ilman omistavaa objektia, näiden kahden objektin välinen assosiaatio on koostumus.
1. Yleiskatsaus ja keskeiset erot
2. Mikä on Java-aggregaatio?
3. Mikä on Java-koostumus
4. Yhdistelmien ja koostumuksen väliset yhtäläisyydet Java-ohjelmassa
5. Vertailu rinnakkain - aggregointi vs. koostumus Java-taulukossa
6. Yhteenveto
Yhdistäminen on eräänlainen yhdistys. Jos luokalla on entiteettiviittaus, se tunnetaan yhdistelmänä. Yhdistäminen edustaa suhdetta. Opiskelijaobjektilla voi olla ominaisuuksia, kuten opiskelijan tunnus, nimi, osoite. Tässä objektissa voi olla myös toinen kohde, nimeltään osoite, jolla on omat tiedot, kuten kaupunki, osavaltio, maa. Tässä tilanteessa Opiskelijalla on yksikön viiteosoite. Se on "on-a" -suhde.
Kuva 01: Merkinnät
Kuva 02: Pääohjelma aggregaation kuvaamiseksi
Yllä olevan ohjelman mukaan luokkamerkit koostuvat kolmesta ominaisuudesta, jotka ovat matematiikka, englanti ja tiedemerkit. Opiskelijalla on esine Marks. Sillä on omat ominaisuudet, jotka ovat matematiikan, englannin ja luonnontieteiden merkkejä. Päämenetelmässä luodaan Marks-objekti ja merkit-arvot määritetään. Opiskelijaobjekti, joka on s1, voi käyttää merkkiobjektia, joka on m1. Siksi Opiskelijalla ja Marksilla on "on-a" -suhde. Marks-objekti voi olla olemassa ilman opiskelijaobjektia. Siksi se on yhdistelmä.
Koostumus on eräänlainen yhdistys. Se on erityinen yhdistämisen muoto, joka edellyttää omistajuutta. Oletetaan, että on olemassa kaksi luokkaa, nimeltään luokka A ja B. Jos luokan B objekti ei voi olla olemassa, jos luokan A esine tuhoutuu, se on koostumus. Kirja koostuu monista sivuista. Jos kirja tuhoutuu, sivut myös tuhoutuvat. Sivukobjekteja ei voi olla ilman kirjaobjektia. Katso alla olevaa ohjelmaa.
Kuva 03: luokkahuoneluokka
Kuva 04: Koululuokka
Kuva 05: Pääohjelma koostumuksen kuvaamiseksi
Yllä olevan ohjelman mukaan Classroomilla on kaksi ominaisuutta, jotka ovat nimi ja numOfStudents. Koulu on luokkahuonekohteiden kokoelma. Päämenetelmässä luodaan kaksi luokkaobjektia. Ne lisätään luokkahuoneisiin. Nämä 'luokkahuoneet' siirretään koulukohteelle. Lopuksi luokkahuoneen nimi ja oppilaiden lukumäärä tulostetaan iteroimalla kokoelman kautta. Jos koulukohde tuhoutuu, myös luokkahuonekohteet tuhoutuvat. Tämä on esimerkki koostumuksesta. Se sisältää myös 'on-a'-suhteen ja merkitsee myös omistajuutta.
Yhdistäminen vs. koostumus Java | |
Yhdistäminen on kahden objektin välinen assosiaatio, joka kuvaa "on" -suhdetta. | Kokoonpano on tarkempi aggregaatiotyyppi, joka merkitsee omistajuutta. |
Käyttö | |
Yhdistämistä käytetään, kun yksi objekti käyttää toista objektia. | Koostumusta käytetään, kun yksi objekti omistaa toisen objektin. |
Vaikutus esineisiin | |
Yhdistettynä omistavan objektin tuhoaminen ei vaikuta sisältävään esineeseen. | Koostumuksessa omistavan esineen tuhoaminen vaikuttaa sisältävään esineeseen. |
Yhdistäminen ja koostumus ovat kaksi käsitettä OOP: ssa. "Has-a" -suhde kuvaa, että yksi objekti voi käyttää toista objektia. Yhdistäminen on kahden objektin välinen assosiaatio, joka kuvaa “on-a” -suhdetta. Kokoonpano on tarkempi aggregaatiotyyppi, joka merkitsee omistajuutta. Ero yhdistämisen ja koostumuksen välillä Java-järjestelmässä on, että jos sisältyy esine voi esiintyä ilman omistavaa objektia, se on yhdistelmä ja jos sisältyy esine ei voi olla olemassa ilman omistavaa esinettä, se on koostumus.
1. ”Yhdistäminen, koostumus ja yhdistäminen Javassa.” GeeksforGeeks, 8. helmikuuta 2018. Saatavilla täältä
2. ”Yhdistäminen Java - Javatpoint.” Java-piste. Saatavilla täältä