Урок 10: Сеттеры и валидация
Свойство без сеттера блокирует любое обновление — но иногда обновление именно то, что нужно, просто безопасно. Сегодня мы добавляем @balance.setter с валидацией: допустимое значение проходит, плохое останавливается с помощью raise. Это вершина модуля инкапсуляции.
Сеттер — это вышибала у двери клуба: каждое значение, желающее войти, проверяется — те, что соблюдают правила, входят, те, что нет, останавливаются у двери с объяснением.
- сеттер
- Метод, помеченный @name.setter, который запускается автоматически при каждом присваивании свойству — место для проверки входящего значения.
- валидация
- Проверка того, что значение допустимо, перед его сохранением — и отклонение его с помощью raise, когда оно недопустимо.