Встречается на собеседованиях • сегодня

Можно ли связать принцип Single Responsibility с инкапсуляцией

Да, принцип Single Responsibility (SRP) и инкапсуляция тесно связаны. SRP требует, чтобы класс отвечал только за одну задачу, а инкапсуляция скрывает внутреннюю реализацию, предоставляя четкий интерфейс. Вместе они помогают создавать модульные, поддерживаемые классы.

Пример:

python
class User:
    def __init__(self, name, email):
        self.name = name
        self.email = email

    def get_user_info(self):
        return f"Name: {self.name}, Email: {self.email}"

class UserDB:
    def save_to_db(self, user):
        print(f"Saving {user.name} to database")

# SRP: User — хранение данных, UserDB — работа с БД.  
# Инкапсуляция: детали сохранения скрыты в UserDB.

SRP разделяет ответственности, а инкапсуляция защищает данные и логику, уменьшая связность.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы