Python 3 - Classi - 8

# Ereditarietà

- In Python è implementata l'ereditarietà, anche quella multipla
- Viene implementata clonando ed unendo i namespace delle classi base
- Per indicare le superclassi basta metterle tra parentesi, dopo il nome della classe:
  class figlio(padre, madre):
- Visti i ragionamenti precedenti, in questo modo viene garantita l'ereditarietà e la possibilità di ridefinire metodi
- Per chiamare metodi della superclasse, dobbiamo farlo in maniera esplicita, tramite la classe:

      class figlio(padre):
        def metodo(self,x):
          padre.metodo(self,x)

- Per verificare il tipo di una istanza possiamo utilizzare is:

      class c:
        pass
      v = c()
      print type(v) is c

- Ma questo non ci dice se la nostra istanza discende da una certa classe.
- Se vogliamo verificare la discendenza, useremo isinstance(<istanza>,<classe>):

      class padre:
        pass
      class figlio(padre):
        pass
      v = figlio()
      print isinstance(v, padre)

© Ing. Stefano Salvi - released under FDL licence