Nima uchun C++ da bir nechta meros qo'llab-quvvatlanadi, lekin Java-da emas?
Nima uchun C++ da bir nechta meros qo'llab-quvvatlanadi, lekin Java-da emas?

Video: Nima uchun C++ da bir nechta meros qo'llab-quvvatlanadi, lekin Java-da emas?

Video: Nima uchun C++ da bir nechta meros qo'llab-quvvatlanadi, lekin Java-da emas?
Video: Рефакторинг: switch vs if-else vs enum vs HashMap [Шаблон "Команда"] 2024, May
Anonim

C++ , Umumiy lisp va bir nechta boshqa tillar bir nechta merosni qo'llab-quvvatlaydi esa java qilmaydi qo'llab-quvvatlash bu. Java ruxsat bermaydi ko'p meros undan kelib chiqadigan noaniqlikdan qochish uchun. Bunday muammoning misollaridan biri olmos muammosi ko'p meros.

Shunga ko'ra, nima uchun Java-da bir nechta meros qo'llab-quvvatlanmaydi?

Java qo'llab-quvvatlaydi ko'p meros faqat interfeyslar orqali. Sinf istalgan sonli interfeyslarni amalga oshirishi mumkin, lekin faqat bitta sinfni kengaytirishi mumkin. Ko'p meros hisoblanadi emas qo'llab-quvvatlanadi, chunki bu halokatli olmos muammosiga olib keladi. Siz interfeysdan hech qanday funksiyaga ega bo'lmang.

Bundan tashqari, bir nechta merosda olmos muammosi nima? “ olmos muammosi ” - ruxsat berish natijasida yuzaga kelishi mumkin bo'lgan noaniqlik ko'p meros . Bu jiddiy muammo imkonini beruvchi tillar uchun (masalan, C++). ko'p meros davlat. Biroq, Java-da ko'p meros sinflar uchun ruxsat berilmaydi, faqat interfeyslar uchun va ular holatini o'z ichiga olmaydi.

Xuddi shunday, odamlar nima uchun C++ bir nechta merosni qo'llab-quvvatlaydi, lekin C# qo'llab-quvvatlamaydi?

Ko'p meros ichida C# C# bir nechta merosni qo'llab-quvvatlamaydi , chunki ular bu qo'shimchani asoslashdi ko'p meros haddan tashqari murakkablik kiritdi C# juda kam foyda keltirganda. In C# , darslarga faqat ruxsat beriladi meros bitta ota-ona sinfidan, yakka deb ataladi meros olish.

Qanday qilib C++ bir nechta merosni qo'llab-quvvatlaydi?

Ko'pgina boshqa ob'ektga yo'naltirilgan dasturlash tillaridan farqli o'laroq, C++ imkon beradi ko'p meros . Ko'p meros bolalar sinfiga ruxsat beradi meros bir nechta ota-onalar sinfidan. Hayvonlar va sudraluvchilar sinflari meros undan. Faqat Animal klassi nafas olish() usulini bekor qiladi.