[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