Junior — Middle
Kaip galima įgyvendinti objektų elgesio valdymą per polimorfizmą kode?
sobes.tech AI
Atsakymas iš AI
Java polimorfizmas leidžia skirtingų klasių objektams reaguoti skirtingai į tas pačias metodų iškvietimus, kas yra naudinga objektų elgesio valdymui.
Norint įgyvendinti elgesio valdymą per polimorfizmą, paprastai sukuriama pagrindinė sąsaja arba abstrakti klasė su apibrėžtu metodu, o tada skirtingos paveldimos klasės įgyvendina šį metodą savaip.
Pavyzdys:
interface Animal {
void makeSound();
}
class Dog implements Animal {
public void makeSound() {
System.out.println("Au-au");
}
}
class Cat implements Animal {
public void makeSound() {
System.out.println("Miau");
}
}
public class Main {
public static void main(String[] args) {
Animal[] animals = {new Dog(), new Cat()};
for (Animal animal : animals) {
animal.makeSound(); // Metodo iškvietimas priklauso nuo konkretaus objekto
}
}
}
Tokiu būdu, objektų elgesio valdymas sumažėja iki vieno metodo iškvietimo, o konkreti įgyvendinimas nustatomas vykdymo metu pagal objekto tipą. Tai palengvina kodo plėtimą ir priežiūrą.