Junior — Middle
Paaiškinkite polimorfizmo sąvoką objektinio programavimo srityje ir kaip jis realizuojamas kode.
sobes.tech AI
Atsakymas iš AI
Objektų orientuoto programavimo polimorfizmas — tai gebėjimas skirtingų klasių objektų reaguoti į tas pačias žinutes (metodų iškvietimus) skirtingai. Tai leidžia naudoti vieną sąsają darbui su skirtingų tipų objektais.
Java polimorfizmas įgyvendinamas per paveldėjimą ir metodų perrašymą. Pavyzdžiui, bazinė klasė deklaruoja metodą, o pogrupiai jį įgyvendina savaip.
Pavyzdys:
class Animal {
void sound() {
System.out.println("Kažkoks garsas");
}
}
class Dog extends Animal {
@Override
void sound() {
System.out.println("Laižymas");
}
}
class Cat extends Animal {
@Override
void sound() {
System.out.println("Miau");
}
}
public class Main {
public static void main(String[] args) {
Animal a1 = new Dog();
Animal a2 = new Cat();
a1.sound(); // Spausdins "Laižymas"
a2.sound(); // Spausdins "Miau"
}
}
Čia, kintamasis tipo Animal gali nurodyti į skirtingų pogrupių objektus, o metodo sound() iškvietimas bus vykdomas priklausomai nuo tikrojo objekto tipo — tai yra polimorfizmas.