Peamine erinevus - agregatsioon vs koostis Java-s
Liitmine on kahe objekti vaheline seos, mis kirjeldab seost "on-a". Koosseis on spetsiifilisem liitmise tüüp, mis tähendab omandilist kuuluvust. Peamine erinevus agregatsiooni ja kompositsiooni vahel on Java-s see, et kui sisalduv objekt võib eksisteerida ilma omava objekti olemasoluta, on see agregatsioon ja kui sisalduv objekt ei saa eksisteerida ilma omava objekti olemasoluta, on see kompositsioon.
Objektorienteeritud programmeerimine (OOP) on tarkvaraarenduse peamine paradigma. Seda kasutatakse tarkvara modelleerimiseks objektide abil. Objektid luuakse klasside abil. Klass koosneb omadustest ja meetoditest. Tarkvaras on mitu objekti. Iga objekt teeb sõnumi edastamise kaudu koostööd. Kahe objekti suhet tuntakse kui assotsiatsiooni. Nii liitmine kui ka koosseis on kahte tüüpi assotsiatsioone. Seos "on-a" kirjeldab, et üks objekt võib kasutada teist objekti. Liitmist ja koostamist saab rakendada OOP toetavates keeltes. Kui sisalduv objekt võib eksisteerida ilma omava objekti olemasoluta, on nende kahe objekti vaheline seos agregatsioon. Kui suletud objekt ei saa eksisteerida ilma omava objekti olemasoluta,siis on nende kahe objekti seos kompositsioon.
SISU
1. Ülevaade ja peamised erinevused
2. Mis on agregatsioon Java-s
3. Mis on Java-sse
kuuluv kompositsioon 4. Java-i agregatsiooni ja kompositsiooni sarnasused
5. Kõrvuti-võrdlus - agregatsioon vs Java-kompositsioon tabelina
6. Kokkuvõte
Mis on Java koondamine?
Liitmine on assotsiatsioonitüüp. Kui klassil on üksuse viide, siis nimetatakse seda liitmiseks. Liitmine tähistab suhet. Õpilasobjektil võivad olla sellised omadused nagu student_id, nimi, aadress. Sellel objektil võib olla ka teine objekt nimega aadress, millel on oma teave, näiteks linn, osariik, riik. Selles olukorras on üliõpilasel üksuse viite aadress. See on suhe, millel on olemas.
Joonis 01: Märgiklass
Joonis 02: põhiprogramm liitmise kirjeldamiseks
Vastavalt ülaltoodud programmile koosneb klass Märgid kolmest omadusest, milleks on matemaatika, inglise keel ja loodusmärgid. Üliõpilasel on märk Marks. Sellel on oma omadused, mis on matemaatika, inglise keele ja teaduse märgid. Põhimeetodis luuakse märkide objekt ja määratakse märkide väärtused. Õpilasobjekt, mis on s1, saab kasutada märkide objekti, mis on m1. Seetõttu on Tudengil ja Markidel suhe "on-olemas". Objekt Markid võib eksisteerida ka ilma õpilase objektita. Seetõttu on see liitmine.
Mis on Java koostamine?
Kompositsioon on assotsiatsioonitüüp. See on konkreetne liitmisvorm, mis tähendab omandiõigust. Oletame, et on kaks klassi, mida nimetatakse klassideks A ja B. Kui klassi B objekt ei saa eksisteerida, kui klassi A objekt hävitatakse, siis see on kompositsioon. Raamat koosneb paljudest lehtedest. Kui raamat hävitatakse, hävivad ka lehed. Leheobjektid ei saa eksisteerida ilma raamatuobjektita. Vaadake allolevat programmi.
Joonis 03: Klassiruum
Joonis 04: Kooliklass
Joonis 05: Kompositsiooni kirjeldamise põhiprogramm
Vastavalt ülaltoodud programmile on Classroomil kaks omadust, mis on nimi ja numOfStudents. Kool on klassiruumi esemete kogu. Põhimeetodis luuakse kaks Classroomi objekti. Need lisatakse klassiruumidesse. Need „klassiruumid“antakse üle kooli objektile. Lõpuks trükitakse klassiruumi nimi ja õpilaste arv, kordades kogu. Kui Kooli objekt hävitatakse, hävivad ka Klassiruumi objektid. See on näide kompositsioonist. See sisaldab ka "on-a" suhet ja tähendab ka omandiõigust.
Milline on Java ja agregatsiooni ja kompositsiooni suhe?
Liitmine ja liitmine on kahte tüüpi assotsiatsioone ja liit on spetsiaalne liitmise tüüp. Kompositsioon on agregatsiooni alamhulk
Mis vahe on Java koondamisel ja koostamisel?
Erinev artikkel keskel enne tabelit
Koondamine vs koostis Java-s |
|
Liitmine on kahe objekti vaheline seos, mis kirjeldab seost "on". | Kompositsioon on spetsiifilisem liitmise tüüp, mis tähendab omandilist kuuluvust. |
Kasutamine | |
Liitmist kasutatakse siis, kui üks objekt kasutab teist objekti. | Kompositsiooni kasutatakse siis, kui ühele objektile kuulub teine objekt. |
Mõjutada objekte | |
Kokkuvõttes ei mõjuta omava objekti hävitamine sisaldavat objekti. | Kompositsioonis mõjutab omava objekti hävitamine sisaldavat objekti. |
Kokkuvõte - koondamine vs koostis Java-s
Liitmine ja koosseis on OOP-s kaks mõistet. Seos "on-a" kirjeldab, et üks objekt võib kasutada teist objekti. Liitmine on kahe objekti vaheline seos, mis kirjeldab seost "on-a". Kompositsioon on spetsiifilisem liitmise tüüp, mis tähendab omandilist kuuluvust. Erinevus agregatsiooni ja kompositsiooni vahel on Java-s see, et kui sisalduv objekt võib eksisteerida ilma omava objekti olemasoluta, on see agregatsioon ja kui sisalduv objekt ei saa eksisteerida ilma omava objekti olemasoluta, on see kompositsioon.