Precedente Indice Successiva

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

Valid XHTML 1.0! Valid CSS!