Polimorfizmas

Polimorfizmas (gr. poly – daug, morphē – forma) – tai objektinio programavimo principas, leidžiantis vieną ir tą patį veiksmą (metodą) atlikti skirtingai, priklausomai nuo objekto, su kuriuo jis kviečiamas. Tai reiškia, kad skirtingi objektai gali reaguoti į tą patį pranešimą (metodo iškvietimą) skirtingai.

Trumpai:
Vienas interfeisas arba bazinė klasėdaug įgyvendinimo variantų.

Pavyzdžiai

1. Geometrinių figūrų skaičiavimas
Bazinė klasė `Figūra` turi metodą `plotas()`. Kiekviena išvestinė klasė jį įgyvendina savo būdu:
python
class Figura:
def plotas(self):
pass

class Kvadratas(Figura):
def __init__(self, kraštinė):
self.kraštinė = kraštinė
def plotas(self):
return self.kraštinė 2

class Apskritimas(Figura):
def __init__(self, spindulys):
self.spindulys = spindulys
def plotas(self):
return 3.14 self.spindulys 2

Polimorfinis elgesys:
figūros = [Kvadratas(4), Apskritimas(3)]
for f in figūros:
print(f.plotas()) Kviečiamas skirtingas metodas kiekvienam objektui

Rezultatas:

16
28.26

2. Gyvūnų garsai
Bazinė klasė `Gyvūnas` turi metodą `garsas()`. Kiekvienas gyvūnas jį įgyvendina savitiškai:
java
class Gyvunas {
public void garsas() {
System.out.println("Gyvūnas skleidžia garsą");

}
}

class Šuo extends Gyvunas {
@Override
public void garsas() {
System.out.println("Au au!");

}
}

class Katė extends Gyvunas {
@Override
public void garsas() {
System.out.println("Miau!");

}
}

// Naudojimas:
Gyvunas[] gyvūnai = { new Šuo(), new Katė() };

for (Gyvunas g : gyvūnai) {
g.garsas();
// Skirtingi garsai, nors metodas vienodas
}

Rezultatas:

Au au!
Miau!

Polimorfizmo formos:
1. Perdengimas (Override) – kaip pavyzdžiuose: išvestinė klasė pakeičia bazinės klasės metodo veikimą.
2. Perkrova (Overload) – tas pats metodo pavadinimas, bet skirtingi parametrai (veikia kompiliavimo metu).

Praktinė nauda:
- Kodas tampa lankstus ir lengvai plečiamas.
- Galima apdoroti skirtingus objektus vienodu interfeisu (pvz., sąraše).


Jei žinote tikslesnę informaciją paaiškinančią 'polimorfizmas' reikšmę, galite ją pakeisti: REDAGUOTI BETA
Įrašas
Paaiškinimas

Jūsų pataisymai bus išsiųsti moderatorių peržiūrai, jei informacija tikslesnė/taisyklingesnė
ji bus patalpinta vietoj esamos.


Kalbų žodynaiJaunimo žodynasVertimasTerminaiTarptautiniai žodžiaiVardaiPavardėsKirčiavimasSapnininkas
© 2020 - 2026 www.zodynas.lt
Draugai: TV Programa Vārdnīca Skaičiuoklė