[Python] Ereditarietà tra classi: un semplice esempio pratico da chiarire
Marco Ippolito
ippolito.marco a gmail.com
Ven 21 Nov 2014 18:53:04 CET
Ciao Daniele,
ti ringrazio per l'aiuto.
Ho modificato l'esempio, passando tutte le variabili locali (nome,
cognome, citta) al costruttore di sub. E coś funziona (come vedi
sotto).
#!/usr/bin/python
class Super:
def __init__(self, nome, cognome, indirizzo):
self.nome = nome
self.cognome = cognome
self.indirizzo = indirizzo
self.nome_intero = '%s %s' % (self.nome, self.cognome)
def super_meth_1(self):
return '%s abita in %s' % (self.nome_intero, self.indirizzo)
def get_super_result(self):
return self.super_meth_1()
class Sub(Super):
def __init__(self, nome, cognome, indirizzo, cosa_fa):
Super.__init__(self, nome, cognome, indirizzo)
self.cosa_fa = cosa_fa
def sub_meth_1(self):
return '%s %s' % (self.nome_intero, self.cosa_fa)
def get_sub_meth_1(self):
return self.sub_meth_1()
if __name__ == '__main__':
nome_f = 'Marco'
cognome_f = 'Ippolito'
abita_f = 'Milano'
super_class = Super(nome_f, cognome_f, abita_f)
ris_super = super_class.get_super_result()
print "ris_super: ", ris_super
cosa_f = 'suona'
sub = Sub(nome_f, cognome_f, abita_f, cosa_f)
ris_sub_1 = sub.get_sub_meth_1()
print "ris_sub_1: ", ris_sub_1
ris_sub_2 = sub.get_super_result()
print "ris_sub_2: ", ris_sub_2
./classInheritage.py
ris_super: Marco Ippolito abita in Milano
ris_sub_1: Marco Ippolito suona
ris_sub_2: Marco Ippolito abita in Milano
C'è un modo per passare far ś che nel main passi a Sub solo le
variabili che lo "differenziano" (specializzano) rispetto a Super?
Cioè c'è un modo per far ś che io possa passare in "main" solo la
variabile "cosa_f"?
Ti ringrazio.
Marco
Maggiori informazioni sulla lista
Python