Virtual meros olmos muammosini qanday hal qiladi?
Virtual meros olmos muammosini qanday hal qiladi?

Video: Virtual meros olmos muammosini qanday hal qiladi?

Video: Virtual meros olmos muammosini qanday hal qiladi?
Video: Yaqin oralarda aniqlangan tushunarsiz HASHORATLAR ! [Top 5] Bu qiziq dunyo 2024, Aprel
Anonim

Virtual meros hal qiladi klassik Olmos muammosi ”. Bu bolalar sinfi umumiy tayanch sinfning faqat bitta nusxasini olishini ta'minlaydi. Boshqacha aytganda, Snake sinfi bo'ladi LivingThing sinfining faqat bitta nusxasi bor. Hayvonlar va sudraluvchilar sinflari ushbu misolni baham ko'rishadi.

Shu munosabat bilan, merosda olmos muammosi nima?

“ olmos muammosi ” - bu ko'plikka ruxsat berish natijasida paydo bo'lishi mumkin bo'lgan noaniqlik meros olish . Bu jiddiy muammo bir nechta tillarga ruxsat beruvchi tillar uchun (masalan, C++). meros olish davlat. Biroq, Java-da bir nechta meros olish Forklasslarga ruxsat berilmaydi, faqat interfeyslar uchun va ular holatini o'z ichiga olmaydi.

Keyinchalik savol tug'iladi: virtual tayanch sinf merosga qanday yordam beradi? Virtual tayanch sinflar bo'sh joyni tejash va noaniqliklardan qochish yo'lini taklif qiling sinf ko'p merosdan foydalanadigan ierarxiyalar. Qachon a asosiy sinf a sifatida belgilanadi virtual baza , u bilvosita sifatida harakat qilishi mumkin asos uning ma'lumotlar a'zolari takrorlanmasdan bir necha marta.

Shuningdek, bilingki, virtual ommaviy meros nima?

Virtual meros Bu C++ usuli boʻlib, u asosiy sinf aʼzosi oʻzgaruvchilarning faqat bitta nusxasi mavjudligini taʼminlaydi meros qilib olingan nabiradan olingan sinflar tomonidan. Bu xususiyat bir nechta uchun eng foydali hisoblanadi meros olish , chunki u qiladi virtual hosil qiluvchi sinf va undan olingan barcha sinflar uchun umumiy sub'ektni asoslang.

Interfeys olmos muammosini qanday hal qiladi?

Qanday qilib yordamida interfeys Java tilida hal qilish the olmos muammosi ? Shunday qilib, agar ikkita bo'lsa interfeyslar bir xil usul imzosiga ega va sinf bu ikkalasidan toinherit (Java-da amalga oshiradi) istaydi interfeyslar , meros qilib olish uchun "usul tanasi" yo'q, shuning uchun " olmos meros olish" nashr oldini oladi.

Tavsiya: