[Python] Semplice domanda sulle classi.
Raffaele Salmaso
raffaele a salmaso.org
Dom 5 Gen 2014 13:09:48 CET
2014/1/5 Gabriele Battaglia <gabriele.battaglia at gmail.com>:
> Ciao.
> Ho questo quesito, da principiante, sulle classi.
>
> Creo la mia fabbrica di automobili:
>
> class Veicoli:
> ruote = 4
>
> Per ora mi accontento e mi compro subito una macchina:
>
> Auto = Veicoli()
>
> Ora, siccome sono un tipo innovativo, mi metto li ed applico una modifica alla mia vettura nuova:
>
> Auto.ruote = 5
>
> Domanda: posso inserire del codice, nella classe, che forzi i dati membri ad assumere solo determinati valori, e non altri?
> Ad esempio, in questo caso, Auto.ruote potrebbe sollevare una eccezione o essere aggiustato via codice ad un altro valore.
@property (ah, hai cambiato solo la classe, ma il codice che la usa
non serve cambiarlo ;) )
class Veicoli(object):
def __init__(self, ruote=4):
self._ruote = ruote
@property
def ruote(self):
return self._route
@ruote.setter
def ruote(self, ruote):
if ruote not in (4,6, 8):
raise ValueError('no')
self._ruote = ruote
Auto = Veicoli()
Auto.ruote = 5
--
| Raffaele Salmaso
| http://salmaso.org
| https://bitbucket.org/rsalmaso
| http://gnammo.com
Maggiori informazioni sulla lista
Python