Junior — Middle
Можете ли да обясните концепцията за полиморфизъм в обектно-ориентираното програмиране?
sobes.tech AI
Отговор от AI
Полиморфизмът в обектно-ориентираното програмиране е способността на обекти от различни класове да реагират по различен начин на едни и същи съобщения (методови извиквания). Това позволява използването на един интерфейс за работа с различни типове обекти.
Пример на Java:
class Animal {
void sound() {
System.out.println("Някакъв звук");
}
}
class Dog extends Animal {
@Override
void sound() {
System.out.println("Лае");
}
}
class Cat extends Animal {
@Override
void sound() {
System.out.println("Мяу");
}
}
public class Main {
public static void main(String[] args) {
Animal a1 = new Dog();
Animal a2 = new Cat();
a1.sound(); // Ще изведе: Лае
a2.sound(); // Ще изведе: Мяу
}
}
Тук методът sound() се извиква върху обекти от тип Animal, но поведението зависи от конкретния подклас — това е пример за полиморфизъм.