RiapaMeTpbi anrmeTa


Download 399.85 Kb.
bet37/97
Sana24.12.2022
Hajmi399.85 Kb.
#1060199
1   ...   33   34   35   36   37   38   39   40   ...   97
Bog'liq
Java (Laboratoriya)

statik bo'shliqni ko'rsatish (ob'ekt ob'ekti1, ob'ekt ob'ekti){ System.out.println(
" Uchinchi usulni ko'rsatish (Ob'ekt, Ob'ekt)");
}
public static void main(String[] args) { ClassC c = new ClassC(); ClassD d = yangi ClassD(); Object object= new Object(); ko'rsatish (c, d);//1 birinchi usuli
ko'rsatish ( d , c );//2 ikkinchi usul
ko'rsatish ( c , c );//3 uchinchi usul // ko'rsatish ( d , d );// 4 kompilyatsiya xatosi
ko'rsatish ( ob , ob );//5 uchinchi usul
ko'rsatish ( c , ob );//6 uchinchi usul
ko'rsatish ( ob , d );//7 uchinchi usul
} ~
}
Birinchi, ikkinchi va beshinchi hollarda ko'rsatish () usuliga o'tkazilgan parametrlar usulni e'lon qilishda parametrlar bilan aynan bir xil bo'ladi. Uchinchi holatda, birinchi va ikkinchi usullardan foydalanish mumkin emas, chunki bu usullarning parametrlaridan biri ClassD sinfining ob'ektidir va chaqirilgan usulning ta'rifi parametrlar uchun meros zanjiri bo'ylab yuqoriga ko'tariladi, shuning uchun bu holda usul tipidagi parametrlar bilan Object chaqiriladi . Oltinchi va ettinchi ­holatlarda ham xuddi shunday holat yuzaga keladi. To'rtinchi holatda, barcha uchta show () usullari qo'ng'iroq qilish uchun teng darajada mos keladi, shuning uchun kompilyatsiya xatosi yuzaga keladi. Noaniqlikni oldini olish uchun aniq turdagi konvertatsiyadan foydalanish kerak, masalan:
ko'rsatish ( d , ( ClassC ) d ); ko'rsatish ( d , ( Ob'ekt ) d );
Har bir variant oxir-oqibat o'zining mos keladigan show () usulini chaqiradi.
Quyidagi misolda pastki sinf new yordamida yaratilgan va unga havola superklass ob'ektiga uzatilgan. Yuqori sinfdan chaqirilganda, subklass usuli mos ravishda chaqiriladi. /* misol # 4.6: dinamik usul chaqiruvi: Dispatch . java */ sinf A {
bekor myMethod () {/* shaxsiy va himoyalangandan foydalanib bo'lmaydi, chunki meros qilib olinganda usuldan foydalanib bo'lmaydi */
System.out.println("A sinf usuli");
}

Download 399.85 Kb.

Do'stlaringiz bilan baham:
1   ...   33   34   35   36   37   38   39   40   ...   97




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling