Расскажите про принципы ООП: наследование, полиморфизм, инкапсуляция, абстракция.
Answer from AI
sobes.tech AI
Объектно-ориентированное программирование (ООП) базируется на четырёх основных принципах:
-
Наследование — позволяет создавать новые классы на основе существующих, наследуя их свойства и методы. Это упрощает повторное использование кода и создание иерархий объектов.
-
Полиморфизм — способность объектов разных классов реагировать на одинаковые сообщения (вызовы методов) по-разному. Например, метод
draw()может вести себя по-разному для объектовCircleиSquare. -
Инкапсуляция — сокрытие внутренней реализации объекта и предоставление доступа к данным только через публичные методы. Это защищает данные от некорректного использования и упрощает поддержку.
-
Абстракция — выделение существенных характеристик объекта, скрывая детали реализации. Позволяет работать с объектами через их интерфейсы, не вдаваясь в внутренние механизмы.
Пример на JavaScript:
class Animal {
constructor(name) {
this.name = name;
}
speak() {
console.log(`${this.name} издаёт звук.`);
}
}
class Dog extends Animal {
speak() {
console.log(`${this.name} гавкает.`); // полиморфизм
}
}
const dog = new Dog('Шарик');
dog.speak(); // Шарик гавкает.
Здесь Dog наследует Animal, переопределяет метод speak (полиморфизм), а свойства name инкапсулированы внутри объекта.