1. Learn
  2. /
  3. Cursuri
  4. /
  5. Programare orientată pe obiecte în Python

Connected

Exercițiu

Creează și setează proprietăți

Definirea unei proprietăți presupune două etape:

  • mai întâi, definești un atribut „intern" care va stoca datele;
  • apoi, definești o metodă decorată cu @property, al cărei nume este numele proprietății, și care returnează atributul intern ce stochează datele.

Dacă dorești să definești și o metodă setter personalizată, adaugi un pas în plus:

  • definești o altă metodă cu exact același nume ca proprietatea și o decorezi cu @prop_name.setter, unde prop_name este numele proprietății. Metoda trebuie să primească două argumente -- self (ca întotdeauna) și valoarea care se atribuie proprietății.

În acest exercițiu, vei crea o proprietate balance pentru clasa Customer -- o versiune mai bună și mai controlată a atributului balance cu care ai lucrat anterior.

Instrucțiuni 1/4

undefined XP
    1
    2
    3
    4

Creează o clasă Customer cu metoda __init__() care:

  • primește parametrii name și new_bal,
  • atribuie name atributului name,
  • generează o excepție ValueError dacă new_bal este negativ,
  • altfel, atribuie new_bal atributului _balance (cu _).