Java-da yig'ish va kompozitsiya o'rtasidagi farq

Mundarija:

Java-da yig'ish va kompozitsiya o'rtasidagi farq
Java-da yig'ish va kompozitsiya o'rtasidagi farq

Video: Java-da yig'ish va kompozitsiya o'rtasidagi farq

Video: Java-da yig'ish va kompozitsiya o'rtasidagi farq
Video: #Oʻzbek tilidagi eng uzun #soʻz 2024, Sentyabr
Anonim

Asosiy farq – jamlash va Java-dagi kompozitsiya

Aggregatsiya ikki obyekt oʻrtasidagi bogʻlanish boʻlib, “bor-a” munosabatini tavsiflaydi. Tarkibi birlashtirishning o'ziga xos turi bo'lib, u egalik huquqini anglatadi. Java-dagi yig'ish va kompozitsiya o'rtasidagi asosiy farq shundaki, agar mavjud ob'ekt egalik ob'ektisiz mavjud bo'lsa, u yig'ishdir va agar mavjud ob'ekt egalik ob'ektisiz mavjud bo'lmasa, u kompozitsiyadir..

Obyektga yoʻn altirilgan dasturlash (OOP) dasturiy taʼminotni ishlab chiqishdagi asosiy paradigmadir. U ob'ektlar yordamida dasturiy ta'minotni modellashtirish uchun ishlatiladi. Ob'ektlar sinflar yordamida yaratiladi. Sinf xususiyatlar va usullardan iborat. Dasturiy ta'minotda bir nechta ob'ektlar mavjud. Har bir ob'ekt xabarni uzatish orqali bir-biri bilan hamkorlik qiladi. Ikki ob'ekt o'rtasidagi munosabat assotsiatsiya deb nomlanadi. Birlashma ham, kompozitsiya ham assotsiatsiyaning ikki turidir. "Has-a" munosabati bir ob'ekt boshqa ob'ektdan foydalanishi mumkinligini tavsiflaydi. Birlashtirish va kompozitsiyani OOP qo'llab-quvvatlovchi tillarda amalga oshirish mumkin. Agar mavjud ob'ekt egalik ob'ektisiz mavjud bo'lishi mumkin bo'lsa, u holda bu ikki ob'ekt o'rtasidagi assotsiatsiya yig'ilish hisoblanadi. Agar mavjud ob'ekt egalik ob'ektisiz mavjud bo'lmasa, bu ikki ob'ekt o'rtasidagi assotsiatsiya kompozitsiyadir.

Java'da Aggregatsiya nima?

Aggregatsiya birlashma turidir. Agar sinfda ob'ekt havolasi bo'lsa, u yig'ish deb nomlanadi. Yigʻish bor-a munosabatlarini ifodalaydi. Student ob'ekti student_id, name, address kabi xususiyatlarga ega bo'lishi mumkin. Bu ob'ektda shahar, shtat, mamlakat kabi o'ziga xos ma'lumotlarga ega bo'lgan manzil deb ataladigan boshqa ob'ekt ham bo'lishi mumkin. Bunday vaziyatda Talaba tashkilotning ma'lumot manziliga ega bo'ladi. Bu “bor-a” munosabati.

Java-da yig'ish va kompozitsiya o'rtasidagi farq
Java-da yig'ish va kompozitsiya o'rtasidagi farq

01-rasm: Belgilar sinfi

Java-da yig'ish va kompozitsiya o'rtasidagi farq
Java-da yig'ish va kompozitsiya o'rtasidagi farq

02-rasm: Aggregatsiyani tavsiflovchi asosiy dastur

Yuqoridagi dasturga koʻra, sinf baholari uchta xususiyatdan iborat boʻlib, ular Matematika, Ingliz tili va Tabiatshunoslik fanlaridan iborat. Talaba Marks ob'ektiga ega. U matematika, ingliz tili va fanning belgilari bo'lgan o'ziga xos xususiyatlarga ega. Asosiy usulda Marks ob'ekti yaratiladi va belgilar qiymatlari tayinlanadi. S1 bo'lgan talaba ob'ekti m1 bo'lgan marks ob'ektidan foydalanishi mumkin. Shuning uchun, Student va Marks o'rtasida "bor-a" munosabatlari mavjud. Marks ob'ekti Student ob'ektisiz mavjud bo'lishi mumkin. Demak, bu yig‘ma.

Javada kompozitsiya nima?

Kompozitsiya assotsiatsiyaning bir turi. Bu mulkchilikni nazarda tutuvchi birlashmaning o'ziga xos shaklidir. Aytaylik, A va B sinflari deb ataladigan ikkita sinf mavjud. Agar A sinf ob'ekti yo'q qilingan bo'lsa, B sinfining ob'ekti mavjud bo'lmasa, u kompozitsiyadir. Kitob ko'p sahifalardan iborat. Kitob vayron bo'lsa, sahifalari ham buziladi. Sahifa ob'ektlari kitob ob'ektisiz mavjud bo'lolmaydi. Quyidagi dasturga qarang.

Java-dagi agregatsiya va kompozitsiya o'rtasidagi farq_03-rasm
Java-dagi agregatsiya va kompozitsiya o'rtasidagi farq_03-rasm

03-rasm: Sinf sinfi

Java-da agregatsiya va kompozitsiya o'rtasidagi farq_04-rasm
Java-da agregatsiya va kompozitsiya o'rtasidagi farq_04-rasm

04-rasm: Maktab sinfi

Java-da yig'ish va kompozitsiya o'rtasidagi asosiy farq
Java-da yig'ish va kompozitsiya o'rtasidagi asosiy farq

05-rasm: Tarkibni tavsiflovchi asosiy dastur

Yuqoridagi dasturga muvofiq, Classroom ikkita xususiyatga ega: nom va Talabalar soni. Maktab sinf ob'ektlari to'plamidir. Asosiy usulda ikkita Classroom ob'ekti yaratiladi. Ular "sinflar" ga qo'shiladi. Ushbu "sinflar" maktab ob'ektiga o'tkaziladi. Nihoyat, sinf nomi va talabalar soni to'plamni takrorlash orqali chop etiladi. Agar Maktab ob'ekti yo'q qilinsa, Classroom ob'ektlari ham yo'q qilinadi. Bu kompozitsiyaga misol. Shuningdek, u “bor-a” munosabatini oʻz ichiga oladi va egalikni ham nazarda tutadi.

Javada yigʻish va kompozitsiya oʻrtasida qanday bogʻliqlik bor?

Aggregatsiya va Kompozitsiya ikki xil assotsiatsiya, kompozitsiya esa jamlashning maxsus turidir. Tarkibi yig‘ishning quyi to‘plamidir

Java-da yig'ish va kompozitsiya o'rtasidagi farq nima?

Aggregation va Java-dagi kompozitsiya

Aggregatsiya ikki obyekt oʻrtasidagi bogʻlanish boʻlib, “boʻlgan” munosabatni tavsiflaydi. Tarkib - egalik huquqini nazarda tutuvchi birlashmaning aniqroq turi.
Foydalanish
Aggregatsiya bir ob'ekt boshqa ob'ektdan foydalanganda ishlatiladi. Kompozitsiya bir obyekt boshqa obyektga egalik qilganda ishlatiladi.
Ob'yektlarga ta'sir
Birgalikda, egalik ob'ektini yo'q qilish o'z ichiga olgan ob'ektga ta'sir qilmaydi. Kompoziyada egalik ob'ektini yo'q qilish o'z ichiga olgan ob'ektga ta'sir qiladi.

Xulosa – jamlash va Java-dagi kompozitsiya

Aggregatsiya va Kompozitsiya OOPda ikkita tushunchadir. "Has-a" munosabati bir ob'ekt boshqa ob'ektdan foydalanishi mumkinligini tavsiflaydi. Aggregatsiya - bu "bor-a" munosabatini tavsiflovchi ikkita ob'ekt o'rtasidagi assotsiatsiya. Kompozitsiya - bu mulkni nazarda tutuvchi birlashmaning o'ziga xos turi. Java-dagi yig'ish va kompozitsiya o'rtasidagi farq shundaki, agar mavjud ob'ekt egalik ob'ektisiz mavjud bo'lsa, u yig'ishdir va agar mavjud ob'ekt egalik ob'ektisiz mavjud bo'lmasa, u kompozitsiyadir.

Tavsiya: