Agregatsiya va kompozitsiya oʻrtasidagi farq

Mundarija:

Agregatsiya va kompozitsiya oʻrtasidagi farq
Agregatsiya va kompozitsiya oʻrtasidagi farq

Video: Agregatsiya va kompozitsiya oʻrtasidagi farq

Video: Agregatsiya va kompozitsiya oʻrtasidagi farq
Video: Агрегация 2024, Noyabr
Anonim

Asosiy farq – yigʻish va kompozitsiya

Ob'ektga yo'n altirilgan dasturlash (OOP) dasturiy ta'minotni ishlab chiqishda keng tarqalgan paradigmadir. Ob'ekt sinfning namunasidir. Bir vaqtning o'zida ob'ektlarni yaratish mumkin emas. Ob'ektni yaratish uchun chizma yoki tavsif bo'lishi kerak. Ushbu reja sinf sifatida tanilgan. Sinfda xususiyatlar va usullar mavjud. Ob'ektlar sinflar yordamida yaratiladi. Sinf va ob'ekt real dunyodagi reja va uyga o'xshaydi. To'g'ri rejasiz uy qurish mumkin emas. Xuddi shunday, ob'ektni yaratish uchun sinf ishlatiladi. Ob'ekt boshqa ob'ektlar bilan hamkorlik qiladi. Ikki yoki undan ortiq ob'ektlarning munosabatini ifodalovchi bilan bog'lanish "assotsiatsiya" deb ataladi. Birlashma va tarkib assotsiatsiyalar turlaridir. Ular sinflar o'rtasidagi munosabatlarni tasvirlaydi. Ushbu maqolada yig'ish va kompozitsiya o'rtasidagi farq muhokama qilinadi. Agregatsiya va kompozitsiya oʻrtasidagi asosiy farq shundaki, agregatsiya ikki obʼyekt oʻrtasidagi bogʻlanish boʻlib, “bor” munosabatini tavsiflaydi, kompozitsiya esa egalikni nazarda tutuvchi yigʻishning oʻziga xos turidir.

Agregatsiya nima?

Ikki ob'ekt o'rtasidagi munosabat Yagona modellashtirish tilida (UML) chiziq chizish orqali ko'rsatiladi. Havola birlashma hisoblanadi. UML tizimning vizual tasvirini olishga yordam beradi. Bu oddiy dasturlash tillaridan farq qiladi. Assotsiatsiya ob'ektlarning ko'pligini ham belgilaydi. Ular birdan birga, birdan ko'pga va ko'pga ko'p. A sinfining bitta ob'ekti B sinfining yagona ob'ekti bilan bog'langan bo'lsa, bu birma-bir munosabatdir. Masalan, kitob yozayotgan muallif. Bu misolda bitta muallif kitob yozmoqda.

A sinfidagi bitta ob'ekt B sinfidagi ko'plab ob'ektlar bilan bog'langan bo'lsa, bu bir-ko'p munosabatdir. Masalan, bo'limda ko'plab xodimlar bo'lishi mumkin. Agar A sinf ob'ekti B sinfidagi ko'plab ob'ektlar bilan bog'langan bo'lsa va B sinf ob'ekti A sinfidagi ko'plab ob'ektlar bilan bog'langan bo'lsa, u ko'pdan ko'pga bog'langan. Masalan, xodim bir nechta loyihalarda ishlashi mumkin va loyihada bir nechta xodim bo‘lishi mumkin.

Aggregatsiya - bu ob'ektlar orasidagi munosabatlarni yanada tavsiflovchi turdagi assotsiatsiya. Yig'ish "bo'lgan" munosabatni tasvirlaydi. O'zaro munosabatlarni tavsiflovchi ba'zi misollar: talabaning "talaba identifikatori" bor, transport vositasining "motori bor". Bundan tashqari, munosabatlar bilan katta miqdorni kengaytirish mumkin. Ba'zi misollar, bankda "ko'p" bank hisoblari bor, sinfda "ko'p" talabalar bor. Buni quyidagi misol yordamida tushuntirish mumkin.

Aggregatsiya va kompozitsiya o'rtasidagi farq
Aggregatsiya va kompozitsiya o'rtasidagi farq

01-rasm: Birlashtirish

Yuqoridagi misolga ko'ra, sinf o'quvchi yoki ko'p talabalardan iborat. Ko'plik ham ob'ektlar sonini ko'rsatish uchun ishlatiladi. Bu bitta sinfda bir nechta o'quvchilar borligini tasvirlaydi. Olmosning ramzi UMLda yig'ilishni ifodalaydi. Talaba ob'ektlari sinf ob'ektiga tayanmaydi. Agar sinf ob'ekti yo'q qilingan bo'lsa, u talaba ob'ektlariga ta'sir qilmaydi. Bu obyektlar hali ham mavjud.

Tarkib nima?

Tarkib birlashtirishning yanada o'ziga xos shaklidir. U egalik huquqini tavsiflaydi. Buni quyidagi misol yordamida tushuntirish mumkin.

Agregatsiya va kompozitsiya o'rtasidagi asosiy farq
Agregatsiya va kompozitsiya o'rtasidagi asosiy farq

02-rasm: Tarkibi

Yuqoridagiga koʻra, kitob obyekti sahifa obyekti yoki sahifalardan iborat. Ko'plik ham ob'ektlar sonini ko'rsatish uchun ishlatiladi. Bu bitta sinfda bir nechta o'quvchilar borligini tasvirlaydi. Belgilangan olmos belgisi UMLdagi kompozitsiyani ifodalaydi. Kitob bir varaq yoki ko'p sahifali bo'lgani uchun u yig'indisidir, lekin u ko'proq aniqlangan. Agar kitob ob'ekti yo'q qilingan bo'lsa, sahifa ob'ektlari ham yo'q qilinadi. Sahifa obyektlari kitob obyektisiz mavjud bo‘lolmaydi. Shuning uchun kompozitsiya egalikni nazarda tutuvchi jamlashning aniqroq shaklidir.

Agregatsiya va kompozitsiya oʻrtasida qanday oʻxshashliklar bor?

  • Ikkalasi ham obyektga yoʻn altirilgan dasturlashda qoʻllaniladi.
  • Ikkalasi ham tizimni vizual tushunish uchun Yagona Modellash Tilida (UML) ishlatiladi.

Agregatsiya va kompozitsiya oʻrtasidagi farq nima?

Agregatsiya va Tarkib

Aggregatsiya ikki obyekt oʻrtasidagi bogʻlanish boʻlib, “boʻlgan” munosabatni tavsiflaydi. Tarkib - bu egalikni nazarda tutuvchi eng o'ziga xos yig'ish turi.
UML belgisi
Agregatsiya olmos bilan belgilanadi. Tarkib ajratilgan olmos bilan belgilangan.
Funksionallik
Birgalikda, agar egalik ob'ekti yo'q qilingan bo'lsa, u o'z ichiga olgan ob'ektga ta'sir qilmaydi. Kompozitsiyada, agar egalik ob'ekti yo'q qilingan bo'lsa, u o'z ichiga olgan ob'ektga ta'sir qiladi.

Xulosa – Aggregatsiya va kompozitsiya

Obyektga yoʻn altirilgan dasturlash dasturiy taʼminotni ishlab chiqishda asosiy paradigma hisoblanadi. OOPda tizim ob'ektlar yordamida modellashtiriladi. Bu ob'ektlar alohida holda mavjud emas. Ob'ektlar boshqa ob'ektlar bilan hamkorlik qiladi. Ob'ektlar o'rtasidagi munosabatlar assotsiatsiya deb ataladi. Aggregatsiya va tarkib assotsiatsiya turlari hisoblanadi. Agregatsiya va kompozitsiya o'rtasidagi farq shundaki, agregatsiya ikki ob'ekt o'rtasidagi bog'liqlik bo'lib, "bor" munosabatini tavsiflaydi va kompozitsiya mulkchilikni anglatuvchi birlashmaning yanada o'ziga xos turidir. Birlashtirish va kompozitsiya tizimning harakatini tushunishga yordam beradi.

Agregatsiya va kompozitsiyaning PDF versiyasini yuklab oling

Siz ushbu maqolaning PDF-versiyasini yuklab olishingiz va iqtibos keltirgan holda oflayn maqsadlarda foydalanishingiz mumkin. Iltimos, PDF versiyasini bu yerdan yuklab oling Agregatsiya va kompozitsiya o'rtasidagi farq

Tavsiya: