Peamine erinevus - liitmine vs koostis
Objektorienteeritud programmeerimine (OOP) on tarkvaraarenduses levinud paradigma. Objekt on klassi eksemplar. Objekte pole võimalik korraga luua. Objekti loomiseks peaks olema plaan või kirjeldus. Seda kavandit tuntakse klassina. Klass sisaldab omadusi ja meetodeid. Objektid luuakse klasside abil. Klass ja objekt sarnanevad reaalses plaanis ja majas. Ilma korraliku plaanita pole maja võimalik ehitada. Samamoodi kasutatakse objekti loomiseks klassi. Objekt teeb koostööd teiste objektidega. Linkiga tähistab kahe või enama objekti suhet nimetatakse assotsiatsiooniks. Liitmine ja koosseis on assotsiatsioonide tüübid. Nad kirjeldavad klassidevahelist suhet. Selles artiklis käsitletakse agregatsiooni ja koostise erinevust. Peamine erinevus agregatsiooni ja kompositsiooni vahel on see, et liitmine on kahe objekti vaheline seos, mis kirjeldab seost "on", ja kompositsioon on spetsiifilisem liitmise tüüp, mis tähendab omandilist kuuluvust.
SISU
1. Ülevaade ja peamine erinevus
2. Mis on liitmine
3. Mis on koostis
4. Koondamise ja koostise sarnasused
5. Kõrvuti võrdlus - kokkuvõte vs koosseis tabelina
6. Kokkuvõte
Mis on liitmine?
Kahe objekti suhet näidatakse joone tõmbamisega Unified Modeling Language (UML). Link on ühendus. UML aitab saada süsteemi visuaalset esitust. See erineb tavalistest programmeerimiskeeltest. Assotsiatsioon määratleb ka objektide paljususe. Nad on üks-ühele, üks-paljudele ja paljud-paljudele. Kui A-klassi üks objekt on seotud B-klassi üksiku objektiga, see on üks-ühele suhe. Näitena võib tuua raamatut kirjutava autori. Selles näites kirjutab üks autor raamatut.
Kui A-klassi üks objekt on seotud paljude B-klassi objektidega, on see suhe ühele-paljudele. Näide on see, et osakonnas võib olla palju töötajaid. Kui A-klassi objekt on seotud paljude B-klassi objektidega ja B-klassi objekt on seotud paljude A-klassi objektidega, on see assotsiatsioon paljudele-paljudele. Üks näide on see, et töötaja saab töötada mitme projektiga ja projektil võib olla mitu töötajat.
Aggregation on tüüpi assotsiatsioon, mis kirjeldab objektide suhet veelgi. Liitmine kirjeldab "on" suhet. Mõned näited, mis kirjeldavad suhet, on see, et õpilasel on õpilase ID, sõidukil mootor. Suhtega on võimalik ka suurt hulka laiendada. Mõned näited on, et pangal on "palju" pangakontosid, klassil "palju" õpilasi. Seda saab selgitada allpool toodud näite abil.
Joonis 01: liitmine
Ülaltoodud näite kohaselt koosneb klassiruum õpilasest või paljudest õpilastest. Mitmekordsust kasutatakse ka objektide arvu näitamiseks. See kirjeldab, et ühes klassiruumis on mitu õpilast. Teemandi sümbol tähistab liitmist UML-is. Õpilasobjektid ei tugine klassiobjektile. Kui klassi objekt hävitatakse, ei mõjuta see õpilase objekte. Need objektid on endiselt olemas.
Mis on koostis?
Kompositsioon on spetsiifilisem liitmise vorm. See kirjeldab omandiõigust. Seda saab selgitada allpool toodud näite abil.
Joonis 02: koostis
Eeltoodu kohaselt koosneb raamatuobjekt leheobjektist või lehtedest. Mitmekordsust kasutatakse ka objektide arvu näitamiseks. See kirjeldab, et ühes klassiruumis on mitu õpilast. Esiletõstetud teemandi sümbol tähistab kompositsiooni UML-is. Kuna raamatul on leht või palju lehti, on see küll kokkuvõte, kuid see on täpsustatud. Kui raamatuobjekt hävitatakse, hävinevad ka leheobjektid. Leheobjektid ei saa eksisteerida ilma raamatuobjektita. Seetõttu on koosseis spetsiifilisem liitmise vorm, mis tähendab omandilist kuuluvust.
Millised on agregatsiooni ja koostise sarnasused?
- Mõlemat kasutatakse objektile orienteeritud programmeerimisel.
- Mõlemat kasutatakse Unified Modeling Language (UML) süsteemis visuaalse mõistmise saamiseks.
Mis vahe on liitmisel ja koostisel?
Erinev artikkel keskel enne tabelit
Liitmine vs koosseis |
|
Liitmine on kahe objekti vaheline seos, mis kirjeldab seost "on". | Koosseis on kõige spetsiifilisem liitmise tüüp, mis tähendab omandilist kuuluvust. |
UML-sümbol | |
Liitmist tähistatakse teemandiga. | Kompositsiooni tähistab esiletõstetud teemant. |
Funktsionaalsus | |
Kokkuvõttes ei mõjuta see, kui omandis olev objekt hävib, sisaldavat objekti. | Kompositsioonis mõjutab see, kui omandis olev objekt hävib, sisaldavat objekti. |
Kokkuvõte - liitmine vs koosseis
Objektorienteeritud programmeerimine on tarkvaraarenduse peamine paradigma. OOP-s modelleeritakse süsteemi objektide abil. Neid objekte ei eksisteeri eraldi. Objektid teevad koostööd teiste objektidega. Objektide suhet nimetatakse assotsiatsiooniks. Liitmine ja koosseis on assotsiatsioonitüübid. Liitmise ja kompositsiooni erinevus seisneb selles, et liitmine on kahe objekti vaheline seos, mis kirjeldab seost "on" ja koostis on spetsiifilisem liitmise tüüp, mis tähendab omandilist kuuluvust. Nii liitmine kui ka koosseis aitavad mõista süsteemi käitumist.
Laadige alla agregatsiooni vs koosseisu PDF-versioon
Selle artikli PDF-versiooni saate alla laadida ja kasutada võrguühenduseta eesmärkidel, nagu tsiteeritud. Laadige siit alla PDF-versioon. Erinevus liitmise ja koostise vahel