L'ereditarietà in Python

Mattepuffo's logo
L'ereditarietà in Python

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!


Condividi

Commentami!