Apkopošana ir asociācija starp diviem objektiem, kas raksturo “ir-ir” attiecības. Kompozīcija ir specifiskāks apkopošanas veids, kas nozīmē īpašumtiesības. galvenā atšķirība starp apkopošanu un sastāvu Java ir tas, ja ietvertais objekts var pastāvēt bez īpašumā esoša objekta, tas ir apkopojums, un, ja ietvertais objekts nevar pastāvēt bez īpašumā esoša objekta, tas ir sastāvs.
Objektorientētā programmēšana (OOP) ir galvenā programmatūras izstrādes paradigma. To izmanto programmatūras modelēšanai, izmantojot objektus. Objekti tiek veidoti, izmantojot klases. Klase sastāv no īpašībām un metodēm. Programmatūrā ir vairāki objekti. Katrs objekts sadarbojas savā starpā, nododot ziņojumu. Divu objektu attiecības sauc par asociāciju. Gan apkopošana, gan sastāvs ir divu veidu asociācijas. Attiecības “ir-a” apraksta, ka viens objekts var izmantot citu objektu. Apkopošanu un sastāvu var ieviest OOP atbalsta valodās. Ja ietvertais objekts var pastāvēt bez īpašumtiesību objekta, tad asociācija starp šiem diviem objektiem ir apkopojums. Ja ietvertais objekts nevar pastāvēt bez objekta, kuram pieder, tad šo divu objektu asociācija ir kompozīcija.
1. Pārskats un galvenās atšķirības
2. Kas ir agregācija Java?
3. Kas ir kompozīcija Java?
4. Java apvienošanas un kompozīcijas līdzības
5. Salīdzinājums blakus - apkopošana vs kompozīcija Java tabulas formā
6. Kopsavilkums
Apkopošana ir asociācijas veids. Ja klasei ir entītijas atsauce, to sauc par apkopojumu. Apkopošana attēlo attiecības starp tām. Studenta objektam var būt rekvizīti, piemēram, students_id, vārds, adrese. Šim objektam var būt arī cits objekts, ko sauc par adresi, ar savu informāciju, piemēram, pilsētu, štatu, valsti. Šajā situācijā Studentam ir entītijas atsauces adrese. Tās ir “ir-ir” attiecības.
01. attēls. Marku klase
02 attēls: galvenā programma agregācijas aprakstīšanai
Saskaņā ar iepriekšminēto programmu klases atzīmes sastāv no trim īpašībām, kas ir matemātika, angļu valoda un zinātnes atzīmes. Studentam ir Marks objekts. Tam ir savas īpašības, kas ir matemātikas, angļu valodas un zinātnes atzīmes. Pamatmetodē tiek izveidots Marks objekts un tiek piešķirtas atzīmju vērtības. Studenta objekts, kas ir s1, var izmantot atzīmes objekts, kas ir m1. Tāpēc Studentam un Marksam ir “ir-ir” attiecības. Objekts Marks var pastāvēt bez studenta objekta. Tāpēc tas ir apkopojums.
Sastāvs ir asociācijas veids. Tā ir īpaša apvienošanas forma, kas nozīmē īpašumtiesības. Pieņemsim, ka ir divas klases, kuras sauc par A un B klasi. Ja B klases objekts nevar pastāvēt, ja tiek iznīcināts A klases objekts, tad tas ir sastāvs. Grāmata sastāv no daudzām lappusēm. Ja grāmata tiek iznīcināta, iznīcinās arī lapas. Lapas objekti nevar pastāvēt bez grāmatas objekta. Skatiet zemāk esošo programmu.
03. attēls: klases klase
04. attēls: skolas klase
05. attēls. Sastāva aprakstīšanas galvenā programma
Saskaņā ar iepriekšminēto programmu Classroom ir divas īpašības, kuras ir vārds un numOfStudents. Skola ir klases priekšmetu kolekcija. Pamatmetodē tiek izveidoti divi Classroom objekti. Tās tiek pievienotas “klasēm”. Šīs “klases” tiek nodotas skolas objektam. Visbeidzot, klases vārdu un studentu skaitu iespiež, atkārtojot kolekciju. Ja skolas objekts tiek iznīcināts, tiks iznīcināti arī klases telpas objekti. Šis ir kompozīcijas piemērs. Tas satur arī “ir-ir” attiecības un nozīmē arī īpašumtiesības.
Apkopošana vs kompozīcija Java | |
Apkopošana ir saistība starp diviem objektiem, kas raksturo attiecības “ir”. | Sastāvs ir specifiskāks apkopošanas veids, kas nozīmē īpašumtiesības. |
Lietošana | |
Apkopošana tiek izmantota, ja viens objekts izmanto citu objektu. | Kompozīcija tiek izmantota, ja vienam objektam pieder cits objekts. |
Ietekme uz objektiem | |
Apkopojot, īpašuma objekta iznīcināšana neietekmēs saturošo objektu. | Sastāvā esošā objekta iznīcināšana ietekmēs saturošo objektu. |
Agregācija un sastāvs ir divi jēdzieni OOP. Attiecības “ir-a” apraksta, ka viens objekts var izmantot citu objektu. Apkopošana ir asociācija starp diviem objektiem, kas raksturo “ir-ir” attiecības. Sastāvs ir specifiskāks apkopošanas veids, kas nozīmē īpašumtiesības. Atšķirība starp apkopošanu un kompozīciju Java ir tāda, ka, ja ietvertais objekts var pastāvēt bez īpašumā esoša objekta, tas ir apkopojums un ja ietvertais objekts nevar pastāvēt bez īpašumā esoša objekta, tā ir kompozīcija.
1. “Asociācija, sastāvs un apkopošana Java.” GeeksforGeeks, 2018. gada 8. februāris. Pieejams šeit
2. “Apkopošana Java - Javatpoint.” Java punkts. Pieejams šeit