ООП, или Объектно-Ориентированное Программирование, — это парадигма программирования, которая использует объекты и классы в центре проектирования приложений и программ. Эта парадигма основана на следующих ключевых принципах: 1. Инкапсуляция: Это означает, что все данные (атрибуты) и код (методы), оперирующие данными, объединяются в единицу — объект. Инкапсуляция также подразумевает скрытие внутреннего состояния объекта от прямого доступа извне, что позволяет предотвратить непреднамеренные изменения состояния объекта и облегчает отладку кода. 2. Наследование: Классы могут наследовать характеристики других классов. Это позволяет создавать новый класс на основе существующего (родительского), наследуя его атрибуты и методы. Наследование облегчает повторное использование кода и способствует созданию иерархической структуры классов. 3. Полиморфизм: Благодаря полиморфизму один и тот же метод может иметь различную реализацию в разных классах. Полиморфизм позволяет одним и тем же способо