Back to questions
Росатом
Junior — Middle
123
Можете объяснить концепцию полиморфизма и его роль в объектно-ориентированном программировании?
Companies where asked
Answer from AI
sobes.tech AI
Полиморфизм — это принцип объектно-ориентированного программирования, который позволяет объектам разных классов обрабатываться через единый интерфейс. Проще говоря, один и тот же метод или функция может работать с объектами разных типов, вызывая соответствующую реализацию.
Роль полиморфизма в ООП:
- Позволяет писать более гибкий и расширяемый код.
- Упрощает поддержку и добавление новых классов без изменения существующего кода.
- Способствует использованию наследования и интерфейсов.
Пример на JavaScript (Node.js):
class Animal {
speak() {
console.log('Животное издает звук');
}
}
class Dog extends Animal {
speak() {
console.log('Гав');
}
}
class Cat extends Animal {
speak() {
console.log('Мяу');
}
}
function makeAnimalSpeak(animal) {
animal.speak();
}
const dog = new Dog();
const cat = new Cat();
makeAnimalSpeak(dog); // Гав
makeAnimalSpeak(cat); // Мяу
Здесь функция makeAnimalSpeak принимает объект типа Animal, но в зависимости от конкретного подкласса вызывается соответствующая реализация метода speak.