L'ereditarietà in Python
L'ereditarietà in Python è leggermente diversa rispetto ad altri linguaggi.
Non si usano parole chiave tipo extends, ma si imposta come se fosse un parametro di una funzione.
Supponiamo di avere la generica classe Persona:
class Persona:
nome = ''
cognome = ''
def __init__(self, nome, cognome):
self.nome = nome
self.cognome = cognome
def getNome(self):
print(self.nome)
def getCognome(self):
print(self.cognome)
Nel costruttore impostiamo nome e cognome.
Poi abbiamo la classe Studente, che eredita da Persona, e che aggiunge un parametro nel costruttore (il corso di laurea):
class Studente(Persona):
laurea = ''
def __init__(self, nome, cognome, laurea):
Persona.__init__(self, nome, cognome)
self.laurea = laurea
def getLaurea(self):
print(self.laurea)
Guardate come viene scritta la classe!
A questo punto avviamo il tutto:
print('Persona generica')
p = Persona('matte', 'puffo')
p.getNome()
p.getCognome()
print('Studente')
s = Studente('matte studente', 'puffo studente', 'economia')
s.getNome()
s.getCognome()
s.getLaurea()
Enjoy!
python ereditarietà
Commentami!