Sobes.tech
Junior — Middle

Vai var teikt, ka mantošana veicina polimorfisma īstenošanu objektorientētajā programmēšanā?

sobes.tech AI

Atbilde no AI

Jā, mantošana ir viens no galvenajiem mehānismiem, kas veicina polimorfisma īstenošanu objektorientētajā programmēšanā. Polimorfisms ļauj apstrādāt dažādu klases objektus caur kopēju saskarni, bet mantošana nodrošina iespēju izveidot klases hierarhijas, kurās apakšklases var pārdefinēt bāzes klases metodes.

Piemēram, ja ir bāzes klase Dzīvnieks ar metodi izdotSkaņu(), un apakšklases Suns un Kaķis pārdefinē šo metodi, tad ar šo klases objektu palīdzību var strādāt caur atsauci uz bāzes klasi un izsaukt izdotSkaņu(), iegūstot dažādas uzvedības:

class Dzīvnieks {
    void izdotSkaņu() {
        System.out.println("Kāds skaņa");
    }
}

class Suns extends Dzīvnieks {
    @Override
    void izdotSkaņu() {
        System.out.println("Bau");
    }
}

class Kaķis extends Dzīvnieks {
    @Override
    void izdotSkaņu() {
        System.out.println("Mau");
    }
}

// Lietošana
Dzīvnieks dz = new Suns();
dz.izdotSkaņu(); // Izdrukās "Bau"