Տարբերություն ագրեգացման և կազմի միջև

Բովանդակություն:

Տարբերություն ագրեգացման և կազմի միջև
Տարբերություն ագրեգացման և կազմի միջև

Video: Տարբերություն ագրեգացման և կազմի միջև

Video: Տարբերություն ագրեգացման և կազմի միջև
Video: POTS Research Update 2024, Հուլիսի
Anonim

Հիմնական տարբերություն – ագրեգացում ընդդեմ կազմի

Օբյեկտ-կողմնորոշված ծրագրավորումը (OOP) ծրագրային ապահովման մշակման ընդհանուր պարադիգմ է: Օբյեկտը դասի օրինակ է։ Հնարավոր չէ միանգամից օբյեկտներ ստեղծել։ Օբյեկտ ստեղծելու համար պետք է լինի նախագիծ կամ նկարագրություն: Այդ նախագիծը հայտնի է որպես դաս: Դասը պարունակում է հատկություններ և մեթոդներ: Օբյեկտները ստեղծվում են դասերի միջոցով: Դասը և առարկան իրական աշխարհում նման են հատակագծի և տան: Առանց պատշաճ հատակագծի հնարավոր չէ տուն կառուցել։ Նմանապես, դասը օգտագործվում է օբյեկտ ստեղծելու համար: Օբյեկտը համագործակցում է այլ օբյեկտների հետ: Հետ կապը ներկայացնում է երկու կամ ավելի օբյեկտների փոխհարաբերությունները, կոչվում է «ասոցիացիա»:Ագրեգացիան և կազմը ասոցիացիաների տեսակներ են: Նրանք նկարագրում են հարաբերությունները դասերի միջև: Այս հոդվածը քննարկում է ագրեգացիայի և կազմի տարբերությունը: Ագրեգացիայի և կոմպոզիցիայի հիմնական տարբերությունն այն է, որ ագրեգացիան երկու օբյեկտների միջև ասոցիացիա է, որը նկարագրում է «ունի» հարաբերությունը, իսկ կոմպոզիցիան ագրեգացիայի ավելի հատուկ տեսակ է, որը ենթադրում է սեփականություն:

Ի՞նչ է ագրեգացիան:

Երկու օբյեկտների միջև փոխհարաբերությունները ցուցադրվում են Միավորված մոդելավորման լեզվով (UML) գիծ գծելով: Հղումը ասոցիացիա է: UML-ն օգնում է ստանալ համակարգի տեսողական պատկերը: Այն տարբերվում է սովորական ծրագրավորման լեզուներից: Ասոցիացիան սահմանում է նաև օբյեկտների բազմակիությունը: Դրանք մեկ-մեկին են, մեկ-շատերին և շատ-շատերին: Երբ A դասի մեկ օբյեկտը կապված է B դասի մեկ օբյեկտի հետ, դա մեկ առ մեկ հարաբերություն է: Օրինակ՝ գիրք գրող հեղինակը: Այդ օրինակում մի հեղինակ գիրք է գրում:

Երբ A դասի օբյեկտը կապված է B դասի բազմաթիվ օբյեկտների հետ, դա մեկ-շատ հարաբերություն է: Օրինակ՝ բաժինը կարող է ունենալ բազմաթիվ աշխատակիցներ: Երբ A դասի օբյեկտը կապված է B դասի բազմաթիվ օբյեկտների հետ, իսկ B դասի օբյեկտները կապված են A դասի բազմաթիվ օբյեկտների հետ, դա շատ-շատերի ասոցիացիա է: Օրինակներից մեկն այն է, որ աշխատողը կարող է աշխատել մի քանի նախագծերի վրա, իսկ նախագիծը կարող է ունենալ մի քանի աշխատակից:

Ագրեգացիան տիպային ասոցիացիա է, որը հետագայում նկարագրում է օբյեկտների միջև կապը: Ագրեգացիան նկարագրում է «ունի» հարաբերությունը: Որոշ օրինակներ, որոնք նկարագրում են հարաբերությունները, հետևյալն են՝ ուսանողը «ունի» ուսանողական ID, մեքենան «ունի» շարժիչ: Հարաբերությունների հետ հնարավոր է նաև մեծ քանակություն ընդլայնել։ Որոշ օրինակներ են՝ բանկը «շատ» բանկային հաշիվներ ունի, դասարանը՝ «շատ» ուսանողներ: Դա կարելի է բացատրել ստորև բերված օրինակով։

Տարբերությունը ագրեգացիայի և կազմի միջև
Տարբերությունը ագրեգացիայի և կազմի միջև

Գծապատկեր 01. համախմբում

Համաձայն վերոնշյալ օրինակի՝ դասարանը բաղկացած է աշակերտից կամ բազմաթիվ աշակերտներից։ Բազմապատկությունը օգտագործվում է նաև օբյեկտների քանակը նշելու համար: Այն նկարագրում է, որ մեկ դասարանում մի քանի ուսանող կա: Ադամանդի խորհրդանիշը ներկայացնում է ագրեգացիան UML-ում: Ուսանողների օբյեկտները չեն հիմնվում դասի օբյեկտի վրա: Եթե դասի օբյեկտը ոչնչացվում է, այն չի ազդի ուսանողի օբյեկտների վրա: Այդ օբյեկտները դեռ գոյություն կունենան։

Ի՞նչ է կոմպոզիցիան?

Կազմը ագրեգացման ավելի կոնկրետ ձև է: Այն նկարագրում է սեփականության իրավունքը: Դա կարելի է բացատրել ստորև բերված օրինակով։

Հիմնական տարբերությունը համախմբման և կազմի միջև
Հիմնական տարբերությունը համախմբման և կազմի միջև

Նկար 02. Կազմը

Ըստ վերոհիշյալի, գրքի օբյեկտը բաղկացած է էջի օբյեկտից կամ էջերից։ Բազմապատկությունը օգտագործվում է նաև օբյեկտների քանակը նշելու համար: Այն նկարագրում է, որ մեկ դասարանում մի քանի ուսանող կա: Ընդգծված ադամանդի խորհրդանիշը ներկայացնում է UML-ի կազմը: Քանի որ գիրքն ունի էջ կամ շատ էջեր, այն ագրեգացված է, բայց ավելի հստակեցված։ Եթե գրքի օբյեկտը ոչնչացվում է, ապա էջի օբյեկտները նույնպես ոչնչացվում են: Էջի օբյեկտները չեն կարող գոյություն ունենալ առանց գրքի օբյեկտի: Հետևաբար, կազմը ագրեգացիայի ավելի կոնկրետ ձև է, որը ենթադրում է սեփականություն:

Որո՞նք են նմանությունները համախմբման և կազմի միջև:

  • Երկուսն էլ օգտագործվում են օբյեկտ կողմնորոշված ծրագրավորման մեջ:
  • Երկուսն էլ օգտագործվում են Unified Modeling Language (UML)՝ համակարգի տեսողական պատկերացում ստանալու համար:

Ո՞րն է տարբերությունը ագրեգացման և կազմի միջև:

Ագրեգացիա ընդդեմ կոմպոզիցիայի

Ագրեգացիան երկու օբյեկտների միջև կապ է, որը նկարագրում է «ունի» հարաբերությունը: Կոմպոզիցիան ագրեգացիայի առավել կոնկրետ տեսակն է, որը ենթադրում է սեփականություն:
UML խորհրդանիշ
Ագրեգացիան նշվում է ադամանդով: Բաղադրությունը նշվում է ընդգծված ադամանդով:
Ֆունկցիոնալություն
Ագրեգացիայի մեջ, եթե սեփականատերը ոչնչացվի, այն չի ազդի պարունակող օբյեկտի վրա: Կազմության մեջ, եթե սեփականատերը ոչնչացվի, այն կազդի պարունակող օբյեկտի վրա:

Ամփոփում – Համախմբում ընդդեմ կազմի

Օբյեկտ-կողմնորոշված ծրագրավորումը ծրագրային ապահովման մշակման հիմնական պարադիգմ է: OOP-ում համակարգը մոդելավորվում է օբյեկտների միջոցով: Այս օբյեկտները առանձին գոյություն չունեն։ Օբյեկտները համագործակցում են այլ օբյեկտների հետ: Օբյեկտների միջև փոխհարաբերությունները հայտնի են որպես ասոցիացիա: Ագրեգացիան և կազմը ասոցիացիայի տեսակներ են: Համախմբման և կոմպոզիցիայի միջև տարբերությունն այն է, որ ագրեգացիան երկու օբյեկտների միջև ասոցիացիա է, որը նկարագրում է «ունի» հարաբերությունը, իսկ կազմը ագրեգացիայի ավելի կոնկրետ տեսակն է, որը ենթադրում է սեփականություն: Համախմբումը և կազմը երկուսն էլ օգնում են հասկանալ համակարգի վարքագիծը:

Ներբեռնեք Aggregation vs Composition-ի PDF տարբերակը

Դուք կարող եք ներբեռնել այս հոդվածի PDF տարբերակը և օգտագործել այն անցանց նպատակներով՝ ըստ մեջբերումների: Խնդրում ենք ներբեռնել PDF տարբերակը այստեղ Տարբերությունը միավորման և կազմի միջև

Խորհուրդ ենք տալիս: