RiapaMeTpbi anrmeTa


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

bekor myMethod ( int i ) { System.out.println("argumentli A sinf usuli"); }
}
sinf B uzaytiradi A {
bekor myMethod ( int i ) { System.out.println("argumentli B sinf usuli"); }
}
C sinf B kengaytiriladi {
System.out.println(" C sinfi "); }
void myMethod() {
System.out.println(" usuli sinf "); } bilan
}
umumiy sinf Dispatch {
umumiy statik void main(String[] args) {
A obj1 = yangi B(); obj1.myMethod(); A obj2 = yangi C(); obj2.myMethod(); obj2.myMethod(10);
}
}
Natija quyidagicha bo'ladi: A sinf usuli
C sinf usuli
argumentli B sinf usuli
Birinchi qo'ng'iroqda A sinfidagi myMethod () usuli chaqiriladi meros sifatida. Ikkinchi qo'ng'iroqda C sinfidagi myMethod () usuli chaqiriladi bekor qilinganidek. Ikkinchi holda, myMethod ( int i ) B sinfidan meros sifatida.
Polimorfizm va kengayish qobiliyati
Ob'ektga yo'naltirilgan dasturlashda merosdan foydalanish ko'p sonli sinflar va usullar bilan murakkab tuzilishga ega bo'lgan dasturiy ta'minotni kengaytirish va to'ldirish imkoniyatini beradi. Bu holda asosiy sinfning vazifalari barcha merosxo'rlar uchun interfeysning ta'rifini (o'zaro ta'sir qilish usuli sifatida) o'z ichiga oladi.
Quyidagi misolda asosiy turga o'tish ifodada uchraydi:
Tosh s1 = yangi Oq();
Tosh s2 = yangi Qora();
Toshning asosiy sinfi olingan sinflar uchun umumiy interfeysni taqdim etadi. Olingan sinflar noyob xatti-harakatni ta'minlash uchun ushbu ta'riflarni bekor qiladi.
// misol # 4.7: polimorfizm: StoneRandom . java sinf Tosh {
ommaviy bekor maʼlumot () {/*boʻsh dastur*/}
sinf Oq uzaytiradi Tosh {
ommaviy bekor info () { System.out.println("oq tosh shar qo'shilgan"); }
}
sinf Qora uzaytiradi Tosh {

Download 399.85 Kb.

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




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