Əsas Fərq – Java-da Toplama və Kompozisiya
Aqreqasiya iki obyekt arasında "var-a" əlaqəsini təsvir edən assosiasiyadır. Kompozisiya mülkiyyəti nəzərdə tutan daha spesifik birləşmə növüdür. Java-da aqreqasiya ilə kompozisiya arasındakı əsas fərq ondan ibarətdir ki, əgər ehtiva olunan obyekt sahiblik obyekti olmadan mövcud ola bilərsə, bu, birləşmədir və əgər ehtiva olunan obyekt sahiblik obyekti olmadan mövcud ola bilməzsə, bu bir kompozisiyadır..
Obyekt yönümlü Proqramlaşdırma (OOP) proqram təminatının hazırlanmasında əsas paradiqmadır. Obyektlərdən istifadə edərək proqram təminatını modelləşdirmək üçün istifadə olunur. Obyektlər siniflərdən istifadə etməklə yaradılır. Sinif xassələrdən və metodlardan ibarətdir. Proqram təminatında çoxlu obyektlər var. Hər bir obyekt mesaj ötürmə yolu ilə bir-biri ilə əməkdaşlıq edir. İki obyekt arasındakı əlaqə assosiasiya kimi tanınır. Həm birləşmə, həm də kompozisiya iki növ birləşmədir. “Has-a” əlaqəsi bir obyektin digər obyektdən istifadə edə biləcəyini təsvir edir. Toplama və kompozisiya OOP dəstəkləyən dillərdə həyata keçirilə bilər. Əgər ehtiva olunan obyekt sahiblik obyekti olmadan mövcud ola bilirsə, o zaman bu iki obyekt arasındakı assosiasiya birləşmədir. Əgər ehtiva olunan obyekt sahiblik obyekti olmadan mövcud ola bilməzsə, o zaman bu iki obyekt arasındakı assosiasiya kompozisiyadır.
Java-da Aqreqasiya nədir?
Aqreqasiya assosiasiya növüdür. Bir sinfin obyekt istinadı varsa, o, toplama kimi tanınır. Aqreqasiya var-a münasibətini təmsil edir. Tələbə obyekti tələbə_id, ad, ünvan kimi xüsusiyyətlərə malik ola bilər. Bu obyektin ünvan adlı başqa bir obyekti də ola bilər, məsələn, şəhər, əyalət, ölkə kimi. Bu vəziyyətdə Tələbənin qurumun istinad ünvanı olur. Bu, "var-a" əlaqəsidir.
Şəkil 01: Marks Class
Şəkil 02: Ümumiləşdirməni təsvir edən əsas proqram
Yuxarıdakı proqrama əsasən, sinif Qiymətləri Riyaziyyat, İngilis dili və Elm qiymətləri olan üç xüsusiyyətdən ibarətdir. Tələbənin Marks obyekti var. Riyaziyyat, ingilis dili və elmin əlamətləri olan öz xüsusiyyətlərinə malikdir. Əsas metodda Marks obyekti yaradılır və marka qiymətləri təyin edilir. s1 olan tələbə obyekti m1 olan marks obyektindən istifadə edə bilər. Buna görə də, Tələbə və Marks arasında “var-a” əlaqəsi var. Marks obyekti Tələbə Obyekti olmadan mövcud ola bilər. Buna görə də, bu, birləşmədir.
Java-da Kompozisiya nədir?
Tərkibi assosiasiya növüdür. Bu, mülkiyyəti nəzərdə tutan xüsusi birləşmə formasıdır. Fərz edək ki, A və B sinifləri adlanan iki sinif var. Əgər A sinfinin obyekti məhv olarsa, B sinfinin obyekti mövcud ola bilməzsə, bu, bir kompozisiyadır. Bir kitab çoxlu səhifələrdən ibarətdir. Kitab məhv olarsa, səhifələr də məhv olar. Səhifə obyektləri kitab obyekti olmadan mövcud ola bilməz. Aşağıdakı proqrama baxın.
Şəkil 03: Sinif Sinfi
Şəkil 04: Məktəb Sinfi
Şəkil 05: Kompozisiyanın təsviri üçün əsas proqram
Yuxarıdakı proqrama əsasən, Sinif otağının ad və Tələbələrin sayı olan iki xüsusiyyəti var. Məktəb Sinif obyektlərinin toplusudur. Əsas metodda iki Classroom obyekti yaradılır. Bunlar “sinif otaqlarına” əlavə olunur. Bu “sinif otaqları” məktəb obyektinə verilir. Nəhayət, sinif adı və tələbələrin sayı kolleksiyada təkrarlanaraq çap olunur. Məktəb obyekti məhv olarsa, Sinif obyektləri də məhv ediləcək. Bu kompozisiya nümunəsidir. O, həmçinin "var-a" əlaqəsini ehtiva edir və sahibliyi nəzərdə tutur.
Javada Aqreqasiya və Kompozisiya Arasındakı Əlaqə nədir?
Aqreqasiya və Kompozisiya iki növ Assosiasiyadır və Kompozisiya ümumiləşdirmənin ixtisaslaşdırılmış növüdür. Kompozisiya Ümumiləşdirmənin alt çoxluğudur
Java-da Toplama və Kompozisiya Arasındakı Fərq Nədir?
Birləşdirmə vs Java-da Kompozisiya |
|
Aqreqasiya iki obyekt arasında "var" əlaqəsini təsvir edən assosiasiyadır. | Tərkibi sahibliyi nəzərdə tutan daha spesifik birləşmə növüdür. |
İstifadə | |
Bir obyekt digər obyektdən istifadə etdikdə ümumiləşdirmə istifadə olunur. | Tərkibi bir obyekt digər obyektə sahib olduqda istifadə olunur. |
Obyektlərə Təsir | |
Aqreqasiyada, sahiblik obyektinin məhv edilməsi tərkibində olan obyektə təsir etməyəcək. | Kompozisiyada sahiblik obyektinin məhv edilməsi tərkibində olan obyektə təsir edəcək. |
Xülasə – Java-da Toplama və Kompozisiya
Aqreqasiya və Tərkibi OOP-da iki anlayışdır. “Has-a” əlaqəsi bir obyektin digər obyektdən istifadə edə biləcəyini təsvir edir. Aqreqasiya iki obyekt arasında “var-a” əlaqəsini təsvir edən birləşmədir. Kompozisiya mülkiyyəti nəzərdə tutan daha spesifik birləşmə növüdür. Java-da aqreqasiya ilə kompozisiya arasındakı fərq ondan ibarətdir ki, əgər ehtiva olunan obyekt sahiblik obyekti olmadan mövcud ola bilirsə, bu, birləşmədir və əgər mövcud obyekt sahiblik obyekti olmadan mövcud ola bilmirsə, bu, kompozisiyadır.