Overriding, polymorphism



Download 126,94 Kb.
bet3/4
Sana22.10.2022
Hajmi126,94 Kb.
#855325
1   2   3   4
Bog'liq
OVERRIDING, POLYMORPHISM

Upcasting


Biz ball yuqorida muhokama yoki sinf ob'ekti anglatadi ota-sinf mos yozuvlar ob'ekt bo'lsa, u holda biz uni Upcasting qo'ng'iroq.

Oddiy misol yordamida upcastingni tushunaylik.
Bizda 'BaseClass' klassi borligini ko'rib chiqing va biz ushbu Baseclassni yangi sinf yaratish uchun kengaytiramiz DerivedClass. Quyida ko'rsatilgan bo'lib, bu tuzilishi ko'rinadi.
sinf BaseClass {

….// Bu erda BaseClass kodi

}

sinf DerivedClass baseclass{uzaytiradi



….// Bu erda DerivedClass kodi

}
Endi upcasting amalga oshirish uchun biz turi baseclass bir ma'lumot o'zgaruvchilar e'lon qiladi. Quyidagi kod bayonotida amalga sifatida keyingi, biz sinf baseclass mos yozuvlar uchun DerivedClass bir ob'ekt tayinlash.


BaseClass bazasi = yangi DerivedClass (); / / Upcasting Shunday qilib, bu erda biz DerivedClass ob'ektini BaseClass-ga tushirdik deb aytishimiz mumkin. Runtime polimorfizmiga kelsak, upcasting tushunchasi juda muhimdir. Shunday qilib, umuman olganda, upcasting-bu ota-ona yoki superklassga murojaat qilish uchun bola yoki subklass ob'ektlarini tayinlash jarayoni.
SuperClass ma'lumot = yangi sinf ob'ekt; Quyidagi Java dasturi usulni bekor qilishni namoyish etadi va shuningdek, bekor qilingan usul qo'ng'iroqlarini ish vaqtida hal qilish uchun qanday qilib translyatsiya qilinishini ko'rsatadi.

//base/parent class
class Parent {
void Print() //print method
{
System.out.println("Parent::Print() method");
}
}
//child class 1 inheriting from Parent
class child1 extends Parent {
void Print() //overridden print method
{
System.out.println("child1::Print() method");
}
}
//child class 2 inheriting from Parent
class child2 extends Parent {
void Print() //overridden print method
{
System.out.println("child2::Print() method");
}
}
class Main {
public static void main(String[] args) {
Parent parent = new Parent();
parent.Print(); //executes parent Print () method
parent = new child1(); //upcasting
parent.Print(); //executes child1 Print () method
parent = new child2(); //upcasting
parent.Print(); //executes child2 Print () method

Chiqish:

Yuqoridagi dasturda bizda ikkita sinf bor, ya'ni child1 va child2 ikkalasi ham 'ota-ona' sinfidan olingan. Ota-ona sinfida child1 va child2 sinflarida bekor qilingan 'chop etish' usuli mavjud. Keyin asosiy usuli, biz 'ota-ona'nomli ota-sinf mos yozuvlar ob'ektini yaratish. Birinchidan, biz uni ota-sinf ob'ektini tayinlash va keyin "chop etish()" usuli qo'ng'iroq. Keyin biz buni avval bola1 ob'ektini, so'ngra bola2 ob'ektini ota-ona ma'lumotnomasiga tayinlash orqali takrorlaymiz. Chiqish ko'rsatadi, ota-mos yozuvlar mazmuniga qarab, va tegishli chop etish usuli deyiladi. Dinamik/Ish Vaqti Polimorfizmining Afzalliklari

  • Dinamik polimorfizm bilan dasturchiga usullarni bekor qilishga ruxsat beriladi.

  • Bu sinflarga umumiy amalga oshiriladigan usulni aniqlashga imkon beradi, keyinchalik uning hosilalari bekor qilishi va aniq bajarilishini ta'minlashi mumkin.

  • Bilan dinamik usulni jo'natish, usul qo'ng'irog'i aksincha, ish vaqtida hal qilinadi ortiqcha yuk kompilyatsiya vaqtida qaror qilingan. Bu dasturchilar uchun ko'proq moslashuvchanlikni ta'minlaydi.

Sifatida ish vaqti polimorfizmi tegishli usulni ish vaqtida qo'ng'iroqqa bog'laydi va biz uni dinamik bog'lash yoki kech bog'lash deb ham ataymiz. Boshqa tomondan kompilyatsiya vaqti polimorfizmi statik bog'lanishni yoki erta bog'lanishni qo'llab-quvvatlaydi.

Download 126,94 Kb.

Do'stlaringiz bilan baham:
1   2   3   4




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish