1. Обучение
  2. /
  3. Курса
  4. /
  5. Объектно-ориентированное программирование на Python

Connected

Упражнение

Создание и настройка свойств

Определение свойства состоит из двух частей:

  • сначала нужно определить «внутренний» атрибут, который будет хранить данные;
  • затем определить метод с декоратором @property, имя которого совпадает с именем свойства, и который возвращает этот внутренний атрибут.

Если вы хотите также определить пользовательский метод setter, потребуется ещё один шаг:

  • определите ещё один метод с точно таким же именем свойства и украсьте его декоратором @prop_name.setter, где prop_name — имя свойства. Метод должен принимать два аргумента: self (как обычно) и значение, которое присваивается свойству.

В этом упражнении вы создадите свойство balance для класса Customer — более удобную и контролируемую версию атрибута balance, с которым вы уже работали.

Инструкции 1/4

undefined XP
    1
    2
    3
    4

Создайте класс Customer с методом __init__(), который:

  • принимает параметры name и new_bal,
  • присваивает name атрибуту name,
  • вызывает ValueError, если new_bal отрицательное,
  • в противном случае присваивает new_bal атрибуту _balance (с символом _).