Агрегация мен құрамның айырмашылығы

Мазмұны:

Агрегация мен құрамның айырмашылығы
Агрегация мен құрамның айырмашылығы

Бейне: Агрегация мен құрамның айырмашылығы

Бейне: Агрегация мен құрамның айырмашылығы
Бейне: 3 лекция Тұрақты даму индикаторлары 2024, Қараша
Anonim

Негізгі айырмашылық – Агрегация мен Құрам

Объектіге бағытталған бағдарламалау (OOP) бағдарламалық жасақтаманы әзірлеудегі кең таралған парадигма болып табылады. Нысан класс данасы болып табылады. Бірден нысандарды жасау мүмкін емес. Объектіні жасау үшін сызба немесе сипаттама болуы керек. Бұл жоспар класс ретінде белгілі. Класта қасиеттер мен әдістер бар. Объектілер сыныптар арқылы жасалады. Класс пен объект нақты әлемдегі жоспар мен үйге ұқсас. Тиісті жоспарсыз үй салу мүмкін емес. Сол сияқты, объект жасау үшін класс пайдаланылады. Нысан басқа нысандармен ынтымақтасады. Екі немесе одан да көп объектілердің қатынасын білдіретін сілтеме «ассоциация» деп аталады. Агрегация және құрам – ассоциация түрлері. Олар сыныптар арасындағы қарым-қатынасты сипаттайды. Бұл мақалада біріктіру мен құрамның айырмашылығы талқыланады. Агрегация мен құрамның негізгі айырмашылығы мынада: жинақтау "бар" қатынасын сипаттайтын екі нысан арасындағы байланыс, ал композиция меншікті білдіретін жинақтаудың ерекше түрі болып табылады.

Агрегация дегеніміз не?

Екі нысан арасындағы қатынас Бірыңғай модельдеу тілінде (UML) сызық сызу арқылы көрсетіледі. Сілтеме - бұл бірлестік. UML жүйенің визуалды көрінісін алуға көмектеседі. Бұл қарапайым бағдарламалау тілдерінен ерекшеленеді. Ассоциация сонымен қатар объектілердің көптігін анықтайды. Олар бір-бір, бір-көп және көп-көп. А класының бір нысаны В класының жалғыз объектісімен байланыстырылғанда, бұл бір-бір қатынас. Мысалы, кітап жазатын автор. Бұл мысалда бір автор кітап жазып жатыр.

А класының бір нысаны В класының көптеген нысандарымен байланыстырылғанда, бұл бір-көп қатынасы. Мысалы, бөлімде көптеген қызметкерлер болуы мүмкін. А класының объектісі В класының көптеген объектілерімен және В класының объектісі А класының көптеген объектілерімен байланысқанда, ол көптен көпке ассоциация болады. Бір мысал, қызметкер бірнеше жобада жұмыс істей алады және жобада бірнеше қызметкер болуы мүмкін.

Агрегация – нысандар арасындағы байланысты әрі қарай сипаттайтын типтердің байланысы. Агрегация «бар» қатынасын сипаттайды. Қарым-қатынасты сипаттайтын кейбір мысалдар: студенттің студенттік идентификаторы «бар», көліктің қозғалтқышы «бар». Сондай-ақ қарым-қатынаспен үлкен мөлшерді кеңейтуге болады. Кейбір мысалдар: банкте «көп» банктік шоттары бар, сыныпта «көп» студенттер бар. Оны төмендегі мысал арқылы түсіндіруге болады.

Агрегация мен композицияның айырмашылығы
Агрегация мен композицияның айырмашылығы

01-сурет: біріктіру

Жоғарыда келтірілген мысалға сәйкес, сынып бір оқушыдан немесе көп оқушыдан тұрады. Көпшілік объектілердің санын көрсету үшін де қолданылады. Ол бір сыныпта бірнеше оқушы болатынын сипаттайды. Гауһар таңбасы UML тіліндегі жинақтауды білдіреді. Студенттік нысандар сынып объектісіне сүйенбейді. Егер сынып нысаны жойылса, ол оқушы нысандарына әсер етпейді. Бұл нысандар әлі де бар.

Композиция дегеніміз не?

Композиция біріктірудің ерекше түрі болып табылады. Ол меншікті сипаттайды. Оны төмендегі мысал арқылы түсіндіруге болады.

Агрегация мен композицияның негізгі айырмашылығы
Агрегация мен композицияның негізгі айырмашылығы

02-сурет: Құрам

Жоғарыда айтылғанға сәйкес, кітап нысаны бет нысанынан немесе беттерден тұрады. Көпшілік объектілердің санын көрсету үшін де қолданылады. Ол бір сыныпта бірнеше оқушы болатынын сипаттайды. Бөлектелген гауһар таңбасы UML тіліндегі композицияны білдіреді. Кітаптың беті немесе көп беттері болғандықтан, бұл жинақтау, бірақ ол нақтырақ. Кітап нысаны жойылса, бет нысандары да жойылады. Бет нысандары кітап нысанынсыз өмір сүре алмайды. Демек, композиция меншікті білдіретін жинақтаудың неғұрлым нақты түрі болып табылады.

Агрегация мен композицияның қандай ұқсастықтары бар?

  • Екеуі де объектіге бағытталған бағдарламалауда қолданылады.
  • Екеуі де жүйені көрнекі түрде түсіну үшін Бірыңғай модельдеу тілінде (UML) пайдаланылады.

Агрегация мен композицияның айырмашылығы неде?

Біріктіру және Құрам

Агрегация – «бар» қатынасын сипаттайтын екі нысан арасындағы байланыс. Композиция - меншікті білдіретін біріктірудің ең ерекше түрі.
UML символы
Агрегация гауһар таспен белгіленген. Композиция бөлектелген гауһар таспен белгіленген.
Функционалдық
Біріктіру кезінде иелік ететін нысан жойылса, ол құрамындағы нысанға әсер етпейді. Композицияда, егер иелік ететін нысан жойылса, ол құрамындағы нысанға әсер етеді.

Қорытынды – Жинақтау және Құрам

Нысанға бағытталған бағдарламалау бағдарламалық жасақтаманы әзірлеудегі негізгі парадигма болып табылады. OOP-те жүйе нысандарды пайдаланып модельденеді. Бұл нысандар оқшауланбайды. Нысандар басқа нысандармен ынтымақтасады. Объектілер арасындағы қатынас ассоциация деп аталады. Агрегация және құрам – ассоциация түрлері. Агрегация мен құрамның айырмашылығы мынада: жинақтау «бар» қатынасын сипаттайтын екі нысан арасындағы байланыс және композиция - меншікті білдіретін жинақтаудың неғұрлым нақты түрі. Жиынтық пен композиция жүйенің әрекетін түсінуге көмектеседі.

Агрегация және композицияның PDF нұсқасын жүктеп алу

Сіз осы мақаланың PDF нұсқасын жүктеп алып, сілтеме жазбасына сәйкес офлайн мақсаттарда пайдалана аласыз. PDF нұсқасын осы жерден жүктеп алыңыз Біріктіру мен құрам арасындағы айырмашылық

Ұсынылған: