Sobes.tech
Junior

Vorisa sinf sinfiyalik sinfiylik funksiyasidan qanday foydalanadi?

sobes.tech AI

AIdan javob

Meros bo‘lish orqali: voris sinf ota sinfning jamoat va himoyalangan a’zolarini oladi.

  • To‘g‘ridan-to‘g‘ri kirish: Voris sinf ichida ota sinfning jamoat va himoyalangan maydonlari va metodlariga nomlari bilan to‘g‘ridan-to‘g‘ri murojaat qilish mumkin.
  • super kalit so‘zi: Bu ota sinf konstruktorini chaqirish yoki voris sinfda bir xil nomdagi a’zolarga murojaat qilish uchun ishlatiladi.
  • Yozish (overriding): Ota sinfning (final bo‘lmagan) metodlari voris sinfda yozilishi mumkin, ularning xulqini o‘zgartirish uchun.
// Ota sinf misoli
class Parent {
    protected int parentValue;

    public Parent(int value) {
        this.parentValue = value;
    }

    public void displayParentValue() {
        System.out.println("Ota qiymati: " + parentValue);
    }

    public final void cannotBeOverridden() {
        System.out.println("Ushbu metod yozib bo‘lmaydi.");
    }
}

// Voris sinf misoli
class Child extends Parent {
    private int childValue;

    public Child(int parentValue, int childValue) {
        super(parentValue); // Ota konstruktorini chaqirish
        this.childValue = childValue;
    }

    // Ota metodini yozish
    @Override
    public void displayParentValue() {
        System.out.println("Yozilgan ota qiymati: " + parentValue); // Himoyalangan maydonga kirish
    }

    public void displayChildValue() {
        System.out.println("Bolalar qiymati: " + childValue);
    }

    public void callParentMethod() {
        super.displayParentValue(); // super orqali ota metodini chaqirish
    }
}