aggregointi on termi, jolla viitataan kahden olion väliseen yksisuuntaiseen suhteeseen. Esimerkiksi Oppilasluokassa voi olla viittaus Osoiteluokkaan, mutta päinvastoin ei ole järkeä.
Jaavassa aggregaatio edustaa HAS-a-suhdetta, mikä tarkoittaa sitä, että luokka sisältää referenssin toisesta luokasta, jolla tiedetään olevan aggregaatio.
HAS-a-suhde perustuu perintöjen sijaan käyttöön. Toisin sanoen luokalla A on-suhde luokkaan B, jos luokalla A on viittaus johonkin luokan B ilmentymään.
antaa ymmärtää sen esimerkin avulla ja pitää kahta luokkaa oppilaana ja osoitteena. Jokaisella oppilaalla on oma osoite, joka tekee on-suhde, mutta osoite on opiskelija ei ole mitään järkeä. Voimme ymmärtää sen selkeämmin Java-koodin avulla.
tässä yllä olevassa koodissa näkyy Oppilasluokalla on-suhde Osoiteluokkaan. Olemme piirtäneet kuvan myös osoittaaksemme näiden kahden luokan välisen suhteen..
Student
luokassa on tyypin Address
. Koska meillä on Address
Student
Luokka, se voi käyttää Osoiteviittausta, joka on ad
tässä tapauksessa vedota Address
Luokka.
yhdistämisen etu
yhdistämisen tärkein etu on koodin uudelleenkäytettävyyden ylläpitäminen. Jos yhteisöllä on suhde johonkin muuhun yhteisöön, se voi käyttää koodia uudelleen vain viittaamalla tähän.
Aggregointiesimerkki
antaa nyt ymmärtää sen käyttämällä esimerkkiä, tässä loimme kaksi luokkaa kirjailija ja kirja-ja Kirjaluokka on suhteessa Tekijäluokkaan sen viite. Nyt voimme saada kaikki ominaisuudet sekä luokan.
kirjan nimi: Java begginerbookin hinnalla: 800————tekijän tiedot———-Auther Name: JohnAuther Age: 42auther place: USA
Lets take one more example to understanding aggregation. Oletetaan, että meillä on vielä yksi luokka Kustantaja sitten kirjan luokka voi käyttää uudelleen Kustantaja luokan tiedot vain käyttämällä sen viittaus tekijä Luokka. Lets ymmärtää sen Java-koodi.
sommittelu Jaavassa
sommittelu on suppeampi aggregaation muoto. Koostumus voidaan kuvata siten, että yksi luokka, joka sisältää toisen luokan, on riippuvainen siitä siten, että se ei voi toiminnallisesti olla olemassa ilman siihen kuuluvaa luokkaa. Esimerkiksi luokka Car
ei voi olla olemassa ilman Engine
, koska se ei ole enää toimiva.
Tästä seuraa sana koostumus, joka tarkoittaa kohteita, joista jokin on tehty, ja jos muutamme asioiden koostumusta, ne muuttuvat, samoin Java-luokissa yhtä luokkaa, joka sisältää toisen luokan, kutsutaan kompositioksi, jos mukana oleva luokka tarjoaa ulommalle luokalle keskeisen funktionaalisen merkityksen.
class Car{ private Engine engine; Car(Engine en) { engine = en; }}
tässä koodia tutkimalla voidaan ymmärtää, että jos Autoluokalla ei ole suhdetta Moottoriluokkaan, niin autolla ei ole olemassaoloa.
sommittelu on suunnittelutekniikka, Ei Javan ominaisuus, mutta voimme saavuttaa sen Java-koodin avulla.
Q. Milloin käyttää perintöä ja aggregaatiota?
kun haluat käyttää jotakin minkä tahansa luokan ominaisuutta tai käyttäytymistä vaatimatta muuttaa sitä tai lisätä siihen toiminnallisuutta, tällöin aggregointi on parempi vaihtoehto, koska Aggregoinnin tapauksessa käytämme vain mitä tahansa luokassamme olevaa ulkoista luokkaa muuttujana.
kun taas kun haluat käyttää ja muokata jonkin ulkoisen luokan omaisuutta tai käyttäytymistä tai haluat ehkä lisätä sen päälle enemmän funktiota, on parasta käyttää perintöä.
ymmärtääksesi enemmän perinnöstä, voit käydä yksityiskohtaisessa opetusohjelmassamme täällä. Klikkaa tästä nähdäksesi periytymisen Javassa