Back to questions
Junior — Middle
68
Можете объяснить концепцию полиморфизма в объектно-ориентированном программировании?
Answer from AI
sobes.tech AI
Полиморфизм — это принцип объектно-ориентированного программирования, позволяющий объектам разных классов реагировать на одинаковые сообщения (методы) по-разному.
Существует два основных вида полиморфизма:
- Компиляционный (статический) — перегрузка методов и операторов.
- Выполненческий (динамический) — переопределение методов в наследниках.
Пример динамического полиморфизма в C#:
class Animal {
public virtual void Speak() {
Console.WriteLine("Animal speaks");
}
}
class Dog : Animal {
public override void Speak() {
Console.WriteLine("Bark");
}
}
class Cat : Animal {
public override void Speak() {
Console.WriteLine("Meow");
}
}
// Использование
Animal myDog = new Dog();
Animal myCat = new Cat();
myDog.Speak(); // Выведет "Bark"
myCat.Speak(); // Выведет "Meow"
Таким образом, один и тот же вызов метода Speak() ведет себя по-разному в зависимости от типа объекта.