Sobes.tech
Back to questions
Intern — Middle
83

Можете объяснить принципы объектно-ориентированного программирования?

Answer from AI

sobes.tech AI

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

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

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

  3. Полиморфизм — способность объектов разных классов реагировать на одинаковые сообщения (вызовы методов) по-разному. В C++ это достигается через виртуальные функции.

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

Пример на C++:

class Animal {
public:
    virtual void speak() { std::cout << "Animal sound" << std::endl; }
};

class Dog : public Animal {
public:
    void speak() override { std::cout << "Woof" << std::endl; }
};

int main() {
    Animal* a = new Dog();
    a->speak(); // Выведет "Woof" благодаря полиморфизму
    delete a;
    return 0;
}