overriding, polymorphism

DOCX 13 sahifa 801,6 KB Bepul yuklash

Sahifa ko'rinishi (5 sahifa)

Pastga aylantiring 👇
1 / 13
o’zbekiston respublikasi oliy va o’rta maxsus ta’lim vazirligi termiz davlat universiteti axborot texnologilari fakulteti amaliy matematika va informatika ta’lim yo’nalishi _ – kurs ___ – guruh talabasi __________________________________ning overriding, polymorphism mavzusidagi mustaqil ishi mavzu: overriding, polymorphism reja: 1. overriding 2. overriding ishlatish 3. polymorphism xulosa foydalanilgan adabiyotlar overriding sinf ierarxiyasini hisobga olgan holda, kichik sinf super-sinfdagi usullarni meros qilib oladi. biroq, agar quyi sinf super-sinfdagi usul bilan bir xil "imzo"ga ega bo'lgan usulni o'z ichiga olsa, super-sinf meros qilib olinmaydi. biz quyi sinf usuli super-klass usulini bekor qiladi deb aytamiz. e'tibor bering, bekor qilishni ortiqcha yuklash bilan adashtirmaslik kerak . haddan tashqari yuklash bir xil nomdagi bir nechta usullarni taqdim etishni o'z ichiga oladi, lekin turli xil parametrlar ro'yxatiga ega; bekor qilish bir xil nom va bir xil parametrlar ro'yxati bilan bir nechta usullarni taqdim etishni o'z ichiga oladi, lekin quyi sinf/super-sinf munosabatidagi sinflarda e'lon qilinadi. agar 1-jadvalda ( classone …
2 / 13
ng uchun biz classtwo'dagi funktsiya1 usuli classone'dagi funktsiya1 usulini bekor qiladi ( ortiqcha yuklash emas) deb aytamiz . // sinflarni bekor qilish - classtwo // frans koenen // 2000 yil 9 mart // liverpul universitetining kompyuter fanlari bo'limi classtwo classone sinfini kengaytiradi { // ---------- usullar ------- --- /* funktsiya 1 */ umumiy float funktsiyasi1(float num) { return(num/3); } } 2-jadval: classtwo ( classone kenja sinfi ) ushbu ikki sinf o'rtasidagi munosabatlar 1-rasmda ko'rsatilgan. 3-jadvalda yuqoridagi sinf ierarxiyasi bilan o'zaro ta'sir qiluvchi dastur sinfi keltirilgan. ushbu kodda ikkita misol yaratilgan: object1 classone ning namunasi va object2 classtwo ning namunasi . 1-rasm: classone va classtwo sinflari o'rtasidagi munosabatni ko'rsatadigan sinf ierarxiyasi diagrammasi . keyin funktsiya1 usuli ikkala misolga, ob'ekt1 va ob'ekt2 ga nisbatan chaqiriladi va keyin funktsiya2 usuli xuddi shunday tarzda chaqiriladi. savol shuki: classtwo misoli bilan funktsiya2 ni chaqirganimizda classone yoki classtwo da aniqlangan qaysi funktsiya1 usuli chaqiriladi ? birinchi …
3 / 13
o(); // chiqish system.out.println("object1.function1(12) = " + object1.function1(12)); system.out.println("object2.function1(12) = " + object2.function1(12)); system.out.println("object1.function2(12) = " + object1.function2(12)); system.out.println("object2.function2(12) = " + object2.function2(12)); } } 3-jadval: ilova sinfi $ java overridingapp object1.function1(12) = 6,0 object2.function1(12) = 4,0 object1.function2(12) = 36,0 object2.function2(12) = 16,0 4-jadval: 3-jadvalda keltirilgan dastur sinfidan namunaviy chiqish overriding ishlatish agar yuqoridagi holatda biz function2 ga qo'ng'iroq qilishda classone sinfida belgilangan funktsiya1 usulini har doim chaqirmoqchi bo'lsak , shu bilan birga classtwo sinfida bu funksiyaning bekor qilingan versiyasini saqlab qolmoqchi bo'lsak ; classone function2 usulini bekor qiladigan va funktsiya1 ning super sinf versiyasini talab qiladigan classtwo usulini yozishimiz kerak edi . buni amalga oshirish uchun biz ushbu usulning super klass versiyasini chaqirishni xohlayotganimizni bildirish uchun super kalit so'zi bilan usul chaqiruviga old qo'yishimiz kerak. classtwo versiyasi buni amalga oshiradigan sinf ta'rifi 5-jadvalda va ba'zi namunaviy chiqishlar bilan (6-jadvalda) keltirilgan. // sinflarni bekor qilish - classtwo // frans koenen …
4 / 13
sinf usuli hisoblanadi. qaysi funktsiya1 usuli hozir chaqiriladi? javob shuki, u hali ham topshirilgan ob'ekt sinfiga bog'liq, agar bu classtwo usulining namunasi bo'lsa, funktsiya1ning classtwo versiyasi chaqiriladi va u classone usulining namunasi bo'lsa, funktsiya1ning classone versiyasi chaqiriladi. chaqiriladi (ya'ni natija 4-jadvalda keltirilgan). 8-jadvalda ilovaning qayta ko'rib chiqilgan versiyasini hisobga olgan holda qo'ng'iroqlarga kiritilishi kerak bo'lgan kerakli o'zgarishlar ko'rsatilgan classone 7-jadvalda keltirilgan. // sinflarni bekor qilish // frans koenen // 2000 yil 9 mart // liverpul universitetining kompyuter fanlari bo'limi classone sinfi { // ---------- usullar ---------- / * funktsiya 1 */ umumiy float funktsiyasi1(float num) { return(num/2); } /* funktsiya 2 */ statik float funktsiyasi2(float num, classone obyekti) { return((float) math.pow(object.function1(num),2)); } } 7-jadval: classone sinfining ikkinchi versiyasi (polimorfizmga ega) // ilovani bekor qilish misoli // frans koenen // 2000-yil 9-mart // liverpul universiteti kompyuter fanlari boʻlimi, sinf overridingapp { // ----------- usullar ---------- /* asosiy usul */ public static …
5 / 13
ikadan foydalangan holda ish vaqtigacha qoldiriladi . bu har bir ob'ekt o'z usullari jadvaliga ega bo'lgan usul bo'lib, java ushbu jadval orqali ish vaqtida bekor qilingan usullarning to'g'ri versiyasini qidiradi ---- polimorfizm deb nomlanuvchi xususiyat . shunday qilib, polimorfizm - bu ierarxiyadagi har bir sinf usulni o'ziga mos keladigan tarzda amalga oshiradigan holda, sinf ierarxiyasida yuqoriga va pastga taqsimlanadigan usulga bitta nom berish usuli. polimorfizm faqat ma'lum usullar to'plamiga tegishli. polimorf sinfni yozish uchun ikkita narsa talab qilinadi: · sinflar ierarxiya bo'yicha joylashtirilishi kerak. · sinflar bir xil talab qilinadigan usullar to'plamini qo'llab-quvvatlashi kerak. dinamik usulni qidirish ko'proq moslashuvchanlikni ta'minlasa ham (masalan, usullarni kengroq bekor qilish imkonini beradi), undan foydalanish bilan bog'liq bo'lgan bajarilish xarajatlari mavjudligini unutmang. shuni ham yodda tutingki, statik yoki xususiy usullar uchun dinamik usullarni qidirish shart emas , chunki ular mos ravishda sinf yoki misolga nisbatan chaqirilishi kerak. xuddi shunday, yakuniy deb e'lon qilingan usullar (va …

Ko'proq o'qimoqchimisiz?

Barcha 13 sahifani Telegram orqali bepul yuklab oling.

To'liq faylni yuklab olish

"overriding, polymorphism" haqida

o’zbekiston respublikasi oliy va o’rta maxsus ta’lim vazirligi termiz davlat universiteti axborot texnologilari fakulteti amaliy matematika va informatika ta’lim yo’nalishi _ – kurs ___ – guruh talabasi __________________________________ning overriding, polymorphism mavzusidagi mustaqil ishi mavzu: overriding, polymorphism reja: 1. overriding 2. overriding ishlatish 3. polymorphism xulosa foydalanilgan adabiyotlar overriding sinf ierarxiyasini hisobga olgan holda, kichik sinf super-sinfdagi usullarni meros qilib oladi. biroq, agar quyi sinf super-sinfdagi usul bilan bir xil "imzo"ga ega bo'lgan usulni o'z ichiga olsa, super-sinf meros qilib olinmaydi. biz quyi sinf usuli super-klass usulini bekor qiladi deb aytamiz. e'tibor bering, bekor qilishni ortiqcha yuklash bilan adashtirmaslik kerak...

Bu fayl DOCX formatida 13 sahifadan iborat (801,6 KB). "overriding, polymorphism"ni yuklab olish uchun chap tomondagi Telegram tugmasini bosing.

Teglar: overriding, polymorphism DOCX 13 sahifa Bepul yuklash Telegram