Javan yhdistämisen ja koostumuksen ero

Sisällysluettelo:

Javan yhdistämisen ja koostumuksen ero
Javan yhdistämisen ja koostumuksen ero

Video: Javan yhdistämisen ja koostumuksen ero

Video: Javan yhdistämisen ja koostumuksen ero
Video: Tapaa asiantuntijat | Mustang Mach-E | Ford Finland 2024, Marraskuu
Anonim

Avainero – yhdistäminen vs kokoonpano Javassa

Aggregaatio on kahden objektin välinen yhteys, joka kuvaa "has-a" -suhdetta. Koostumus on tarkempi yhdistämistyyppi, joka viittaa omistukseen. Keskeinen ero aggregaation ja koostumuksen välillä Javassa on, että jos sisältymä objekti voi olla olemassa ilman omistavan objektin olemassaoloa, se on aggregaatio, ja jos sisältymä objekti ei voi olla olemassa ilman omistavan objektin olemassaoloa, se on koostumus.

Object-Oriented Programming (OOP) on ohjelmistokehityksen tärkeä paradigma. Sitä käytetään ohjelmiston mallintamiseen objektien avulla. Objektit luodaan luokkien avulla. Luokka koostuu ominaisuuksista ja menetelmistä. Ohjelmistossa on useita objekteja. Jokainen objekti tekee yhteistyötä toistensa kanssa viestin välittämisen kautta. Kahden objektin välinen suhde tunnetaan assosiaationa. Sekä yhdistäminen että koostumus ovat kahden tyyppisiä assosiaatioita. "Has-a" -suhde kuvaa, että yksi objekti voi käyttää toista objektia. Aggregointi ja kokoonpano voidaan toteuttaa OOP-tukikielillä. Jos sisältyvä objekti voi olla olemassa ilman omistavan objektin olemassaoloa, näiden kahden objektin välinen yhteys on aggregaatio. Jos sisällytetty objekti ei voi olla olemassa ilman omistajaobjektin olemassaoloa, näiden kahden objektin välinen yhteys on koostumus.

Mitä on yhdistäminen Javassa?

Aggregaatio on eräänlainen assosiaatio. Jos luokassa on entiteettiviittaus, sitä kutsutaan aggregaatioksi. Aggregaatio edustaa on-a -suhdetta. Opiskelijaobjektilla voi olla ominaisuuksia, kuten opiskelijatunnus, nimi, osoite. Tällä objektilla voi olla myös toinen kohde nimeltä osoite, jolla on omat tiedot, kuten kaupunki, osav altio, maa. Tässä tilanteessa opiskelijalla on entiteetin viiteosoite. Se on "on-a" -suhde.

Ero yhdistämisen ja koostumuksen välillä Javassa
Ero yhdistämisen ja koostumuksen välillä Javassa

Kuva 01: Luokkamerkinnät

Ero yhdistämisen ja koostumuksen välillä Javassa
Ero yhdistämisen ja koostumuksen välillä Javassa

Kuva 02: Pääohjelma yhdistämisen kuvaamiseen

Yllä olevan ohjelman mukaan luokkapisteet koostuvat kolmesta ominaisuudesta, jotka ovat matematiikka, englanti ja luonnontieteet. Opiskelijalla on Marks-objekti. Sillä on omat ominaisuutensa, jotka ovat matematiikan, englannin ja tieteen tunnusmerkkejä. Päämenetelmässä luodaan Marks-objekti ja määritetään merkkiarvot. Oppilasobjekti, joka on s1, voi käyttää marks-objektia, joka on m1. Siksi opiskelijalla ja merkillä on "has-a" -suhde. Marks-objekti voi olla olemassa ilman opiskelijaobjektia. Siksi se on aggregaatio.

Mitä on sävellys Javassa?

Sävellys on eräänlainen assosiaatio. Se on erityinen yhdistämismuoto, joka edellyttää omistusta. Oletetaan, että on olemassa kaksi luokkaa, nimeltään luokka A ja B. Jos luokan B objektia ei voi olla olemassa, jos luokan A kohde tuhoutuu, se on koostumus. Kirja koostuu useista sivuista. Jos kirja tuhoutuu, myös sivut tuhoutuvat. Sivuobjektit eivät voi olla olemassa ilman kirjaobjektia. Katso alla olevaa ohjelmaa.

Ero yhdistämisen ja koostumuksen välillä Javassa_Kuva 03
Ero yhdistämisen ja koostumuksen välillä Javassa_Kuva 03

Kuva 03: Luokkahuoneluokka

Ero yhdistämisen ja koostumuksen välillä Javassa_Kuva 04
Ero yhdistämisen ja koostumuksen välillä Javassa_Kuva 04

Kuva 04: Koululuokka

Keskeinen ero aggregoinnin ja koostumuksen välillä Javassa
Keskeinen ero aggregoinnin ja koostumuksen välillä Javassa

Kuva 05: Pääohjelma koostumuksen kuvaamiseen

Yllä olevan ohjelman mukaan Classroomilla on kaksi ominaisuutta, jotka ovat nimi ja oppilaiden lukumäärä. Koulu on kokoelma Classroomin esineitä. Päämenetelmässä luodaan kaksi Classroom-objektia. Ne lisätään "luokkahuoneisiin". Nämä "luokkahuoneet" siirretään kouluobjektille. Lopuksi luokkahuoneen nimi ja oppilaiden lukumäärä tulostetaan iteroimalla kokoelmaa. Jos koulun esine tuhoutuu, myös Luokkahuoneen esineet tuhoutuvat. Tämä on esimerkki koostumuksesta. Se sisältää myös "has-a" -suhteen ja viittaa myös omistukseen.

Mikä on yhdistämisen ja koostumuksen välinen suhde Javassa?

Aggregointi ja kokoonpano ovat kahdenlaisia assosiaatioita, ja kokoonpano on erikoistunut yhdistämistyyppi. Koostumus on aggregoinnin osajoukko

Mitä eroa on yhdistämisellä ja koostumuksella Javassa?

Aggregointi vs sävellys Javassa

Aggregaatio on kahden objektin välinen assosiaatio, joka kuvaa "on"-suhdetta. Koostumus on tarkempi yhdistämistyyppi, joka edellyttää omistajuutta.
Käyttö
Aggregaatiota käytetään, kun yksi objekti käyttää toista objektia. Komposiota käytetään, kun yksi objekti omistaa toisen objektin.
Vaikutus esineisiin
Yhdistettynä omistavan objektin tuhoaminen ei vaikuta sisältävään objektiin. Omistavan objektin tuhoaminen vaikuttaa koostumuksessa olevaan objektiin.

Yhteenveto – yhdistäminen vs kokoonpano Javassa

Aggregointi ja kokoonpano ovat kaksi käsitettä OOP:ssa. "Has-a" -suhde kuvaa, että yksi objekti voi käyttää toista objektia. Aggregaatio on kahden objektin välinen yhteys, joka kuvaa "has-a" -suhdetta. Koostumus on tarkempi yhdistämistyyppi, joka edellyttää omistajuutta. Ero aggregoinnin ja koostumuksen välillä Javassa on se, että jos sisältymä objekti voi olla olemassa ilman omistavan objektin olemassaoloa, se on aggregaatio ja jos sisältymä objekti ei voi olla olemassa ilman omistavan objektin olemassaoloa, se on kokoonpano.

Suositeltava: