Sobes.tech
Назад к вопросам
Middle
1

Расскажите про принципы ООП: наследование, полиморфизм, инкапсуляция, абстракция.

Компании, где спрашивали
СБЕРСБЕР

Ответ от нейросети

sobes.tech AI

Объектно-ориентированное программирование (ООП) базируется на четырёх основных принципах:

  1. Наследование — позволяет создавать новые классы на основе существующих, наследуя их свойства и методы. Это упрощает повторное использование кода и создание иерархий объектов.

  2. Полиморфизм — способность объектов разных классов реагировать на одинаковые сообщения (вызовы методов) по-разному. Например, метод draw() может вести себя по-разному для объектов Circle и Square.

  3. Инкапсуляция — сокрытие внутренней реализации объекта и предоставление доступа к данным только через публичные методы. Это защищает данные от некорректного использования и упрощает поддержку.

  4. Абстракция — выделение существенных характеристик объекта, скрывая детали реализации. Позволяет работать с объектами через их интерфейсы, не вдаваясь в внутренние механизмы.

Пример на 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 инкапсулированы внутри объекта.