Con il concetto di ereditarietà una classe ESTENDE una classe già esistente
– aggiungendo nuovi attributi o nuovi metodi
– può accedere ai dati ereditati purché il livello di protezione lo consenta
– NON può eliminare dati o metodi esistenti (può eventualmente sovraccaricarli ridefinendoli).
La classe derivata condivide la struttura e il comportamento (per le parti non ridefinite) della classe base
Per poter definire una nuova classe a partire da una già esistente bisognerà specificare rispetto alla classe che estende:
– quali dati la nuova classe ha in più;
– quali metodi la nuova classe ha in più;
– quali metodi la nuova classe modifica rispetto alla precedente.
il livello di protezione private impedisce a chiunque di accedere al dato, anche a una classe derivata.
Per sfruttare appieno l’ereditarietà occorre specializzare il livello di protezione
La clausola protected consente libero accesso a una classe derivata.