|
Cerchiamo di capire qual è l'idea sottostante al meccanismo che stiamo definendo. Vediamo uno schema che rappresenta il meccanismo dell'ereditarietà.

  |
Nuove classi di oggetti che modificano quelli esistenti |
  |
oggetto = stato(campi) + operatori(metodi) |
È come se intorno a un dato oggetto, lo ricoprissimo con un nuovo strato, che contiene nuovi campi e nuovi metodi.
  |
nuovo oggetto |
  |
stato esteso (nuovi campi) [ereditarietà] |
  |
metodi ridefiniti (metodi con lo stesso nome) [polimorfismo] |
  |
Il nuovo oggetto estende lo stato aggiungendo informazione e
cambia il comportamento dei metodi. |
Ricordiamo che i campi rappresentano lo stato di un oggetto, per cui il nuovo oggetto ha uno stato esteso, con nuove informazioni mantenute. I metodi possono essere nuovi oppure avere lo stesso nome di metodi già esistenti. Nel caso si tratti di metodi nuovi, interviene l'ereditarietà ampliando i comportamenti preesistenti dell'oggetto. Ma nel caso in cui stiamo definendo dei metodi che hanno lo stesso nome e gli stessi parametri di un metodo già esistente, in questo caso interviene il polimorfismo che sostituisce il comportamento del metodo preesistente.
|