1. Learn
  2. /
  3. Kurser
  4. /
  5. Programowanie obiektowe w Pythonie

Connected

övning

Tworzenie i ustawianie właściwości

Definiowanie właściwości składa się z dwóch kroków:

  • najpierw zdefiniuj „wewnętrzny" atrybut, który będzie przechowywał dane;
  • następnie zdefiniuj metodę z dekoratorem @property, której nazwa jest nazwą właściwości i która zwraca ten wewnętrzny atrybut.

Jeśli chcesz też zdefiniować własną metodę setter, potrzebny jest dodatkowy krok:

  • zdefiniuj kolejną metodę o dokładnie tej samej nazwie co właściwość i udekoruj ją za pomocą @prop_name.setter, gdzie prop_name to nazwa właściwości. Metoda powinna przyjmować dwa argumenty – self (jak zawsze) oraz wartość przypisywaną do właściwości.

W tym ćwiczeniu stworzysz właściwość balance dla klasy Customer – lepszą i bardziej kontrolowaną wersję atrybutu balance, z którym wcześniej pracowałeś.

Instruktioner 1/4

undefined XP
    1
    2
    3
    4

Utwórz klasę Customer z metodą __init__(), która:

  • przyjmuje parametry name i new_bal,
  • przypisuje name do atrybutu name,
  • zgłasza ValueError, jeśli new_bal jest ujemne,
  • w przeciwnym razie przypisuje new_bal do atrybutu _balance (z podkreślnikiem _).