Sobes.tech
Junior — Middle

Mondhatjuk, hogy az öröklődés elősegíti a polimorfizmus megvalósítását az objektumorientált programozásban?

sobes.tech MI

Válasz az MI-től

Igen, az öröklődés az egyik kulcsfontosságú mechanizmus, amely hozzájárul a polimorfizmus megvalósításához az objektumorientált programozásban. A polimorfizmus lehetővé teszi, hogy különböző osztályok objektumait egységes interfészen keresztül kezeljük, az öröklődés pedig lehetővé teszi osztályhierarchiák létrehozását, ahol az alosztályok felülírhatják a bázisosztály módszereit.

Például, ha van egy Állat nevű bázisosztály hangKelt() módszerrel, és az Kutya és Macska alosztályok felülírják ezt a módszert, akkor ezeknek az osztályoknak az objektumaival a bázisosztály hivatkozásán keresztül dolgozhatunk, és meghívhatjuk a hangKelt() módszert, különböző viselkedéseket kapva:

class Állat {
    void hangKelt() {
        System.out.println("Valamilyen hang");
    }
}

class Kutya extends Állat {
    @Override
    void hangKelt() {
        System.out.println("ugat");
    }
}

class Macska extends Állat {
    @Override
    void hangKelt() {
        System.out.println("miau");
    }
}

// Használat
Állat a = new Kutya();
a.hangKelt(); // Kiírja: "ugat"