[Python] Ereditarietà fra classi

Giuseppe Amato giuamato a gmail.com
Gio 4 Apr 2013 14:47:07 CEST


Il giorno 04 aprile 2013 13:27, Adriano Barbieri <adrianobarb a yahoo.it> ha
scritto:

> Buongiorno a tutti.
> Abbiamo ad esempio una classe principale: MyFrame.
> Poi una seconda classe TextDialog...
> Che mi serve per aprire una finestra di dialogo personalizzata contenente
> diversi campi di un record.
> Ora se non ho capito male, per far ereditare i metodi dalla prima classe
> padre alla seconda che diverrebbe figlia, si dovrebbe scrivere così?
> class TextDialog(MyFrame):
>

Giusto in questo modo si accede ai *metodi* della classe instanziata.

Come posso gestire nella classe figlia delle liste create nella classe
> padre?
> Ho provato a istanziare con: MyFrame().nomeLista[indice]
> Poi con: MyFrame.nomeLista()[indice]
>

Dalla mia esperienza non puoi attraverso le istanze. Le istanze sono
"modelli" e quindi non si possono condividere implicitamente le variabili.

Manca qualcosa.
> Qualcuno mi può aiutare a capire? scusatemi, ma è la prima volta che mi
> capita di usare più di una classe nello stesso script.
>

Quello che vuoi fare tu è un po' diverso.
Ti allego un po' di codice per chiarire le cose (spero :-))
class MyFrame():
    def __init__(self):
        self.nomeLista=[1,2,3]

    def printLista(self):
        print "stampa"

class TextDialog():
    def __init__(self):
        mf=MyFrame()
        mf.printLista()
        print mf.nomeLista

class TextDialog1(MyFrame):
    def __init__(self):
        MyFrame().__init__()
        self.printLista()
        print self.nomeLista #ERRORE


print "Esempio 1"
td=TextDialog()

print "Esempio 2"
td=TextDialog1()



-- 
____________________________
Giuseppe Amato
e-mail: giuamato a gmail.com
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20130404/5a1a0a1e/attachment.html>


Maggiori informazioni sulla lista Python