Galvenā atšķirība - apkopošana un kompozīcija Java valodā
Apkopošana ir saistība starp diviem objektiem, kas apraksta “has-a” attiecību. Sastāvs ir specifiskāks apkopojuma veids, kas nozīmē īpašumtiesības. Galvenā atšķirība starp apkopošanu un kompozīciju Java ir tāda, ka, ja ietvertais objekts var pastāvēt bez īpašumtiesību objekta eksistences, tas ir apkopojums, un, ja ietvertais objekts nevar pastāvēt bez piederošā objekta esamības, tas ir kompozīcija..
Objektorientētā programmēšana (OOP) ir programmatūras izstrādes galvenā paradigma. To izmanto, lai modelētu programmatūru, 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ā, izmantojot ziņojumu nodošanu. Attiecības starp diviem objektiem ir pazīstamas kā asociācija. Gan apkopošana, gan sastāvs ir divu veidu asociācijas. Attiecība “has-a” apraksta, ka viens objekts var izmantot citu objektu. Apkopošanu un kompozīciju var ieviest OOP atbalsta valodās. Ja ietvertais objekts var pastāvēt bez īpašumtiesību objekta eksistences, tad asociācija starp šiem diviem objektiem ir apkopojums. Ja ietvertais objekts nevar pastāvēt bez piederošā objekta esamības, tad saistība starp šiem diviem objektiem ir kompozīcija.
Kas ir Java apkopošana?
Apkopošana ir asociācijas veids. Ja klasei ir entītijas atsauce, to sauc par apkopošanu. Apkopošana atspoguļo attiecības ar starpniecību. Studenta objektam var būt tādi rekvizīti kā student_id, nosaukums, adrese. Šim objektam var būt arī cits objekts, ko sauc par adresi, ar savu informāciju, piemēram, pilsētu, valsti, valsti. Šādā situācijā Studentam ir entītijas atsauces adrese. Tās ir “ir-a” attiecības.
Attēls 01: Atzīmes klasē
Attēls 02: Galvenā programma apkopojuma aprakstīšanai
Saskaņā ar iepriekš minēto programmu klases atzīmes sastāv no trim rekvizītiem, kas ir matemātikas, angļu valodas un dabaszinātņu atzīmes. Studentam ir Marks objekts. Tam ir savas īpašības, kas ir matemātikas, angļu valodas un zinātnes atzīmes. Galvenajā metodē tiek izveidots Marks objekts un tiek piešķirtas atzīmju vērtības. Studenta objekts, kas ir s1, var izmantot atzīmju objektu, kas ir m1. Tāpēc Studentam un Markam ir “ir-a” attiecības. Atzīmju objekts var pastāvēt bez studenta objekta. Tāpēc tas ir apkopojums.
Kas ir kompozīcija Java valodā?
Sastāvs ir asociācijas veids. Tas ir īpašs apkopošanas veids, kas nozīmē īpašumtiesības. Pieņemsim, ka ir divas klases, ko sauc par A un B. Ja B klases objekts nevar pastāvēt, ja A klases objekts tiek iznīcināts, tad tā ir kompozīcija. Grāmata sastāv no daudzām lapām. Ja grāmata tiek iznīcināta, iznīcinās arī lapas. Lapas objekti nevar pastāvēt bez grāmatas objekta. Skatiet tālāk norādīto programmu.
03. attēls: klase
4. attēls: skolas klase
Attēls 05: Galvenā programma kompozīcijas aprakstīšanai
Saskaņā ar iepriekš minēto programmu Classroom ir divi rekvizīti: vārds un skolēnu skaits. Skola ir klases priekšmetu kolekcija. Galvenajā metodē tiek izveidoti divi Classroom objekti. Tie tiek pievienoti "klasēm". Šīs "klases" tiek nodotas skolas objektam. Visbeidzot, atkārtojot kolekciju, tiek izdrukāts klases nosaukums un skolēnu skaits. Ja tiek iznīcināts Skolas objekts, tiks iznīcināti arī Klases objekti. Šis ir kompozīcijas piemērs. Tajā ir ietverta arī saistība “has-a”, kā arī ietvertas īpašumtiesības.
Kāda ir saistība starp apkopošanu un kompozīciju Java?
Apkopošana un sastāvs ir divu veidu asociācijas, un sastāvs ir specializēts apkopošanas veids. Kompozīcija ir apkopošanas apakškopa
Kāda ir atšķirība starp Java apkopošanu un kompozīciju?
Apkopošana pret kompozīciju Java valodā |
|
Apkopošana ir saistība starp diviem objektiem, kas apraksta saistību “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šumā esošā objekta iznīcināšana neietekmēs saturošo objektu. | Sastāvā piederošā objekta iznīcināšana ietekmēs saturošo objektu. |
Kopsavilkums - apkopošana pret kompozīciju Java versijā
Apkopošana un kompozīcija ir divi OOP jēdzieni. Attiecība “has-a” apraksta, ka viens objekts var izmantot citu objektu. Apkopošana ir saistība starp diviem objektiem, kas apraksta “has-a” 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šumtiesību objekta esamības, tas ir apkopojums, un, ja ietvertais objekts nevar pastāvēt bez piederošā objekta esamības, tas ir sastāvs.