Tarkib va meros o'rtasidagi farq nima?
Tarkib va meros o'rtasidagi farq nima?

Video: Tarkib va meros o'rtasidagi farq nima?

Video: Tarkib va meros o'rtasidagi farq nima?
Video: Meros huquqi 2024, Noyabr
Anonim

Garchi ikkalasi ham Meros olish va Tarkibi kodning qayta ishlatilishini ta'minlaydi, asosiy farq Tarkibi va o'rtasida Meros olish Java-da bu Tarkibi imkon beradi qayta foydalanish kodni uzaytirmasdan, lekin Meros uchun siz uzaytirishingiz kerak the har qanday qayta foydalanish uchun sinf ning kod yoki funksionallik.

Keyinchalik, kimdir so'rashi mumkin, qaysi biri yaxshiroq meros yoki tarkib?

1) Bir afzal ko'rish sababi Tarkibi ustida Meros olish Java-da Java bir nechta versiyani qo'llab-quvvatlamasligi haqiqatdir meros olish . 2) Tarkibi taklif qiladi yaxshiroq dan sinfning sinov qobiliyati Meros olish . Agar bitta sinf boshqa sinfdan iborat bo'lsa, sinov uchun tuzilgan sinfni ifodalovchi Soxta ob'ektni osongina yaratishingiz mumkin.

Shuningdek, ob'ektga yo'naltirilgan dasturlashda kompozitsiya nima? Tarkibi dagi asosiy tushunchalardan biridir ob'ekt - yo'naltirilgan dasturlash . U bir yoki bir nechta havola qiladigan sinfni tavsiflaydi ob'ektlar misol o'zgaruvchilaridagi boshqa sinflarning. Bu sizga has-a assotsiatsiyasini modellashtirish imkonini beradi ob'ektlar . Haqiqiy dunyoda bunday munosabatlarni muntazam ravishda topishingiz mumkin.

Buni hisobga olsak, meros ustidan kompozitsiya nimani anglatadi?

Meros ustidan tarkib (yoki kompozit qayta foydalanish printsipi) ob'ektga yo'naltirilgan dasturlashda (OOP) hisoblanadi sinflar polimorfik xatti-harakatlarga erishish va kodni o'zlari tomonidan qayta ishlatish printsipi tarkibi (kerakli funksiyani amalga oshiradigan boshqa sinflarning namunalarini o'z ichiga olgan holda). meros olish bazadan

Agregatsiya merosmi?

Meros olish : pastki sinf yaratish orqali sinfning funksionalligini kengaytirish. Yangi funksiyalarni ta'minlash uchun pastki sinflardagi supersinf a'zolarini bekor qiling. Birlashtirish : boshqa sinflarni olib, ularni yangi sinfga birlashtirib, yangi funksiyalarni yarating.

Tavsiya: