Этот вопрос проверяет базовое понимание фундаментальных принципов ООП.
Четыре ключевых принципа ООП: инкапсуляция, наследование, полиморфизм и абстракция.
Инкапсуляция скрывает внутренние детали объекта.
Наследование позволяет создавать новые классы на основе существующих.
Полиморфизм позволяет использовать одни и те же методы для разных типов объектов.
Абстракция выделяет главное и скрывает второстепенное.
Объектно-ориентированное программирование (ООП) строится на четырёх фундаментальных концепциях, которые помогают структурировать код, делая его модульным, расширяемым и легко поддерживаемым.
Определение: объединение данных и методов, работающих с ними, в одной сущности (классе) и скрытие деталей реализации.
предотвращает прямой доступ к внутренним полям
защищает состояние объекта
снижает связность кода
Пример:
python
class User:
def __init__(self, name):
self._name = name # protected
def get_name(self):
return self._name
Позволяет создавать новые классы на основе существующих.
переиспользование кода
расширение функциональности
создание иерархий классов
Позволяет вызывать один и тот же метод у разных объектов.
Пример:
python
class Animal:
def speak(self):
pass
class Dog(Animal):
def speak(self):
return "woof"
class Cat(Animal):
def speak(self):
return "meow"
Выделяет важное, скрывая ненужные детали.
Используется при работе с интерфейсами, абстрактными классами.
ООП облегчает поддержку и расширение приложений.
Четыре принципа — фундамент, который применим к любому ООП-языку.