Назад к вопросам
Aston
Junior — Middle
72
Можешь ли ты объяснить основные принципы инкапсуляции в объектно-ориентированном программировании?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Инкапсуляция — один из основных принципов объектно-ориентированного программирования, который заключается в скрытии внутренней реализации объекта и предоставлении доступа к данным только через определённые методы.
Основные моменты:
- Сокрытие данных: внутренние поля объекта делают приватными, чтобы предотвратить прямой доступ извне.
- Контролируемый доступ: предоставление публичных методов (геттеров и сеттеров) для чтения и изменения состояния.
- Защита целостности данных: методы могут проверять корректность входных данных перед изменением.
Пример на Python:
class Person:
def __init__(self, name):
self.__name = name # приватное поле
def get_name(self):
return self.__name
def set_name(self, name):
if isinstance(name, str) and name:
self.__name = name
else:
raise ValueError("Имя должно быть непустой строкой")
p = Person("Иван")
print(p.get_name()) # Иван
p.set_name("Пётр")
print(p.get_name()) # Пётр
Таким образом, инкапсуляция помогает защитить объект от некорректного использования и облегчает поддержку кода.