16-dars — Javada Inheritance(merosxo’rlik).

16-dars — Javada Inheritance(merosxo’rlik).

16-dars - Javada Inheritance(merosxo’rlik).

Ma’lum obyekt asosida boshqa obyektni yaratish jarayoniga aytiladi. Bir klassning boshqa klassdan meros olishi yordamida amalga oshiriladi. Meros olingan obyekt ota obyektdagi xususiyatlarni tanlovga ko’ra meros oladi. Masalan, avtoulov bu ota obyekt. Bu obyekt yordamida yengil mashina, yuk mashinasi, poyga mashinasi kabi boshqa obyektlarni yaratib olishimiz mumkin. Ota klassda bo’lgan 4 g’ildirak farzand klasslarda ham mavjud bo’ladi. Ya’ni poyga mashinasi, avtoulovdan g’ildiraklarni meros oladi. Ota klassdan meros olayotgan bola klassimiz ota klassning shaxsiy bo’lmagan (
private) barcha o’zgaruvchilari, funksiyalari va h.k larni meros qilib oladi.

Javada meros olinishi

  1. Funksiyani qayta yuklash uchun (runtime(dastur ishlab turgan vaqt) da ko’pformalikdan foydalanishda )
  2. Kodni qayta ishlatish uchun foydalaniladi.
class Subclass-name extends Superclass-name     
    {     
       //funskiyalar va o'zgaruvchilar     
    }

extends kalit so’zi yangi klass yaratayotganimizda Super klass (Ota klass) dan meros olish uchun ishlatiladi.

Java texnologoyasida quyi klass super klassdan meros oladi. Yani yangi klass quyi klassni chaqiradi.

16 dars javada

Yuqorida shaklda Programmer subclassi va Employee super klassi ko’rsatilgan. Bunda shu ikkita klassni orasidagi bog’lanish tasvirlangan.

class Employee{     
     float salary=40000;     
}
class Programmer extends Employee{     
    int bonus=10000;     
    public static void main(String args[]){     
        Programmer p=new Programmer();     
        System.out.println("Programmer salary is:"+p.salary);     
        System.out.println("Bonus of Programmer is:"+p.bonus);     
    }     
}

Natija :

Programmer salary is:40000.0

Bonus of programmer is:10000

Yuqoridagi misolda Programmer klassi Employee klassidan meros olyapti va undagi
float salary o’zgaruvchisini o’ziga o’zlashtirib olyapti.

Javada meros olinish turlari

Javada asosiy klassdan 3 xil usulda meros olish mumkin ular
single (bir tomonlama), multilevel(bir necha class orqali) va hierarchical(iyerarxiya).

16 dars javada

Javada bir vaqtning o’zida bir necha klass dan meros olib bo’lmaydi.

class A{
    void msg(){System.out.println("Hello");}    
}
class B{     
    void msg(){System.out.println("Welcome");}
}
class C extends A,B{
    public static void main(String args[]){
        C obj=new C();     
        obj.msg();//
    }     
}

Bu yerda
Compile Time Error (Kompilyatsiya Vaqtida Xatolik) bo’ladi, chunki bir vaqtning o’zida C klassi A, B klasslaridan meros olyapti. Yuqorida aytganimizdek javada bir vaqtning o’zida bir necha klassdan meros olib bo’lmaydi.

Manba:

Umumiy Dasturlash
16-dars — Javada Inheritance(merosxo’rlik).