Əsas Fərq – Toplama və Tərkibi
Obyekt yönümlü Proqramlaşdırma (OOP) proqram təminatının hazırlanmasında ümumi paradiqmadır. Obyekt sinifin bir nümunəsidir. Obyektləri bir anda yaratmaq mümkün deyil. Obyekt yaratmaq üçün plan və ya təsvir olmalıdır. Bu plan bir sinif kimi tanınır. Sinif xassələri və metodları ehtiva edir. Obyektlər siniflərdən istifadə etməklə yaradılır. Sinif və obyekt real dünyada plan və evə bənzəyir. Düzgün plan olmadan ev tikmək mümkün deyil. Eyni şəkildə, bir obyekt yaratmaq üçün bir sinif istifadə olunur. Bir obyekt digər obyektlərlə əməkdaşlıq edir. İki və ya daha çox obyektin əlaqəsini ifadə edən əlaqə “birləşmə” adlanır. Aqreqasiya və tərkib birləşmələrin növləridir. Onlar siniflər arasındakı əlaqəni təsvir edirlər. Bu məqalədə birləşmə və kompozisiya arasındakı fərq müzakirə olunur. Aqreqasiya və kompozisiya arasındakı əsas fərq ondan ibarətdir ki, aqreqasiya "var" əlaqəsini təsvir edən iki obyekt arasında assosiasiyadır və kompozisiya mülkiyyəti nəzərdə tutan daha spesifik birləşmə növüdür.
Aqreqasiya nədir?
İki obyekt arasındakı əlaqə Vahid Modelləşdirmə Dilində (UML) xətt çəkilməklə göstərilir. Link bir assosiasiyadır. UML sistemin vizual təsvirini əldə etməyə kömək edir. Adi proqramlaşdırma dillərindən fərqlidir. Assosiasiya həm də obyektlərin çoxluğunu müəyyən edir. Onlar bir-bir, bir-çox və çox-çoxdur. A sinfinin vahid obyekti B sinifinin vahid obyekti ilə əlaqəli olduqda, bu, bir-bir əlaqədir. Məsələn, kitab yazan müəllif. Bu misalda bir müəllif kitab yazır.
A sinifinin bir obyekti B sinifinin bir çox obyekti ilə əlaqəli olduqda, bu, birdən çox əlaqəsidir. Məsələn, bir şöbənin bir çox işçisi ola bilər. A sinifinin obyekti B sinifinin bir çox obyekti ilə və B sinifinin obyekti A sinifinin bir çox obyekti ilə əlaqələndirildikdə, çoxdan çoxa assosiasiya olur. Məsələn, bir işçi birdən çox layihədə işləyə bilər və bir layihədə birdən çox işçi ola bilər.
Aqreqasiya obyektlər arasındakı əlaqəni daha da təsvir edən tip assosiasiyasıdır. Aqreqasiya “bir əlaqəyə malikdir”. Əlaqəni təsvir edən bəzi nümunələr, tələbənin “tələbə identifikatoru”, avtomobilin “mühərriki var”dır. Münasibətlə böyük miqdar genişləndirmək də mümkündür. Bəzi nümunələr, bir bankın "çoxlu" bank hesabı var, bir sinifin "çoxlu" tələbəsi var. Bunu aşağıdakı nümunə ilə izah etmək olar.
Şəkil 01: Toplama
Yuxarıdakı misala görə, sinif şagird və ya çoxlu tələbədən ibarətdir. Çoxluq da obyektlərin sayını göstərmək üçün istifadə olunur. Bir sinifdə bir neçə şagirdin olduğunu təsvir edir. Almazın simvolu UML-də birləşməni təmsil edir. Tələbə obyektləri sinif obyektinə etibar etmir. Sinif obyekti məhv olarsa, bu, tələbə obyektlərinə təsir etməyəcək. Həmin obyektlər hələ də mövcud olacaq.
Tərkibi nədir?
Tərkibi birləşmənin daha spesifik formasıdır. Mülkiyyəti təsvir edir. Bunu aşağıdakı nümunə ilə izah etmək olar.
Şəkil 02: Tərkibi
Yuxarıda göstərilənlərə əsasən, kitab obyekti səhifə obyekti və ya səhifələrdən ibarətdir. Çoxluq da obyektlərin sayını göstərmək üçün istifadə olunur. Bir sinifdə bir neçə şagirdin olduğunu təsvir edir. Vurğulanan almaz simvolu UML-də kompozisiyanı təmsil edir. Kitabın bir səhifəsi və ya çoxlu səhifəsi olduğu üçün bu, cəmdir, lakin daha dəqiqləşdirilmişdir. Kitab obyekti məhv olarsa, səhifə obyektləri də məhv olur. Səhifə obyektləri kitab obyekti olmadan mövcud ola bilməz. Buna görə də, kompozisiya mülkiyyəti nəzərdə tutan daha spesifik birləşmə formasıdır.
Aqreqasiya və Tərkib arasında hansı oxşarlıqlar var?
- Hər ikisi Obyektyönümlü Proqramlaşdırmada istifadə olunur.
- Hər ikisi sistem haqqında vizual anlayış əldə etmək üçün Vahid Modelləşdirmə Dilində (UML) istifadə olunur.
Aqreqasiya ilə Tərkibi Arasındakı Fərq Nədir?
Aqreqasiya vs Tərkibi |
|
Aqreqasiya iki obyekt arasında "bir" əlaqəni təsvir edən assosiasiyadır. | Tərkibi sahibliyi nəzərdə tutan ən spesifik birləşmə növüdür. |
UML Simvolu | |
Aqreqasiya almazla işarələnir. | Tərkibi vurğulanmış almazla işarələnir. |
Funksionallıq | |
Aqreqasiyada, əgər sahiblik obyekti məhv olarsa, o, ehtiva edən obyektə təsir etməyəcək. | Kompozisiyada, əgər sahiblik obyekti məhv olarsa, o, tərkibindəki obyektə təsir edəcək. |
Xülasə – Toplama və Tərkibi
Obyekt yönümlü Proqramlaşdırma proqram təminatının hazırlanmasında əsas paradiqmadır. OOP-da sistem obyektlərdən istifadə etməklə modelləşdirilir. Bu obyektlər ayrı-ayrılıqda mövcud deyil. Obyektlər digər obyektlərlə əməkdaşlıq edir. Obyektlər arasındakı əlaqə assosiasiya kimi tanınır. Aqreqasiya və tərkib birləşmə növləridir. Aqreqasiya ilə kompozisiya arasındakı fərq ondan ibarətdir ki, aqreqasiya iki obyekt arasında "var" əlaqəsini təsvir edən birləşmədir və kompozisiya mülkiyyəti nəzərdə tutan daha spesifik birləşmə növüdür. Aqreqasiya və kompozisiya sistemin davranışını anlamağa kömək edir.
Aqreqasiya vs Tərkibin PDF versiyasını endirin
Bu məqalənin PDF versiyasını yükləyə və sitat qeydinə əsasən onu oflayn məqsədlər üçün istifadə edə bilərsiniz. Zəhmət olmasa PDF versiyasını buradan endirin Toplama və Tərkibi Arasındakı Fərq