Sobes.tech
Junior — Middle

Polimorfizmni qo'llash imkoniyatini ta'minlash uchun sinf ta'rifida qanday o'zgarishlar qilish kerak?

sobes.tech AI

AIdan javob

Java'da polimorfizmni ta'minlash uchun:

  • Subklasslarda qayta yozilishi kutilayotgan metodlar statik yoki final bo'lmasligi kerak.
  • Subklasslarda asosiy klass metodlarini qayta yozish uchun override kalit so'zidan foydalanish.
  • Asosiy klassda metodlar public yoki protected sifatida e'lon qilinishi kerak (shunda subklasslar ularni qayta yozishi mumkin).

Misol:

class Animal {
    public void sound() {
        System.out.println("Bir ovoz");
    }
}

class Dog extends Animal {
    @Override
    public void sound() {
        System.out.println("Bark");
    }
}

// Polimorfizmni qo'llash
Animal animal = new Dog();
animal.sound(); // "Bark" chiqaradi

Shunday qilib, polimorfizmni qo'llab-quvvatlash uchun metodlar virtual bo'lishi kerak (Java'da, barcha statik bo'lmagan metodlar standart ravishda virtual). Asosiy narsa, metodlarni static yoki final qilmaslikdir.