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"