[Python] Estensione classi

Paolo Ferretti paolo a paoloferretti.it
Ven 20 Giu 2008 16:58:18 CEST


Anche questo è il mio primo messaggio su questa ml ;-)
Allora, a me sembra corretta la tua soluzione. Se usi l'ultima versione 
di Python, però, ti consiglio di usare la nuova sintassi per le classi. 
Non cambia gran chè a livello pratico, ma penso sia buona abitudine 
utilizzare i consigli di una buona scrittura di codice Python! Quindi:

class Veicle(object):

    def __init__(self, name, speed, fire_power, life = 500, shield=False):
        self._name = name
        self._speed=speed #km/h
        self._fire_power=fire_power
        self._shield = shield
        self._life = life

class Submarine(Veicle):
    def __init__(self, name, speed, fire_power, deepness=0, life =
500, shield=False):
        #Veicle.__init__(self, name, speed, fire_power)
	super(Submarine, self).__init__(name, speed, firepower)
        self._deepness = deepness



Valerio Pachera ha scritto:
> Ciao a tutti, questo è il mio primo messaggio in lista.
> Sono un appassionato di informatica (in particolare per la piattaforma
> Linux) e da un po' di tempo ho cominciato a studiare python.
> Ho qualche nozione di altri linguaggi, in particolare VB e action script 2.
>
> Dunque, veniamo al sodo. Ho una classe (Veicle) che definisce delle
> carratteristiche comuni a dei veicoli da guerra.
> Ora voglio estendere la classe perchè per aggiungere la propietà
> "deepness" ai sottomarini.
> Mi dite se è corretto fare così:
>
> class Veicle:
>
>     def __init__(self, name, speed, fire_power, life = 500, shield=False):
>         self._name = name
>         self._speed=speed #km/h
>         self._fire_power=fire_power
>         self._shield = shield
>         self._life = life
>
> class Submarine(Veicle):
>     def __init__(self, name, speed, fire_power, deepness=0, life =
> 500, shield=False):
>         Veicle.__init__(self, name, speed, fire_power)
>         self._deepness = deepness
>
> Grazie.
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
>   



Maggiori informazioni sulla lista Python