Video appunto: Sottoclassi e attributi

Python – sottoclassi e attributi



Attributi privati
Attributi private: iniziano con __, non finiscono con __, cioè --nome
Sono privati alla classe di definizione, non è visibile fuori dalla classe e neppure nelle sottoclassi

Attributi protetti
Attributi protetti: di fatto si comportano come attributi e metodi pubblici ma vengono usati per chiarire il ruolo di alcuni nomi definiti nella classe
Attributi e metodi protetti possono essere modificati all'interno della classe | o delle sottoclassi | che li definiscono.

Per definire ed accedere ad attributi e metodi protetti anteponiamo un singolo underscore (_) al loro nome.

Sottoclassi – ereditarietà
Ogni operazione della superclasse ha senso anche sulla sottoclasse
Class point:
Class movpoint(point):
Terminologia equivalente:
Movpoint è sottoclasse di point
Point è la superclasse (immediata) di point
Anche: movpoint è basata su point, è derivata da point
Point è la classe base di movpoint
Instanceof(object,class)
Quando si eredita un metodo, si può ridefinirlo (override)
Metodo super():super() restituisce l'oggetto (l'istanza) dove è chiamato, ma vista nella sua superclasse. È un "self" spostato nella sua superclasse
Class point:
def __init__(self,xx,yy):
self.x=xx
self.y=yy
Class colpoint(point):
def __init__(self,xx,yy,col):
super().__init__(xx,yy)
self.c=col
Dynamic method:
- lookup
- dispatch