Texnoman

Assalomu alaykum! Siz Axborot texnologiyalari sohasining o'zbek tilidagi bloggerlar portaliga tashrif buyurdingiz! Loyihamizning asosiy maqsadi haqida bu yerda o'qishingiz mumkin.

Kirish A'zo bo'lish


Farzandlarimiz bizdan ko'ra kuchli, dono, bilimli va albatta baxtli bo'lishlari shart.

- Islom Karimov


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.

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).


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:


Gayratjon

Muallif haqida

Rayimjonov G'ayratjon


Blogdagi so‘nggi maqolalar:


Birinchi bo‘ling!

Iltimos, fikr bildirish uchun saytga kiring yoki ro‘yxatdan o‘ting!