10) Cos’è l’ereditarietà nella tecnologia ad oggetti?

Requisito del riutilizzo: un oggetto può derivare la specifica da altri oggetti.

Un oggetto può ereditare da una sola classe o da più classi (ereditarietà semplice/multipla)

La possibilità di ereditare da più genitori rende possibile il riutilizzo di specifiche multiple presenti, aumenta la possibilità di conflitti e la facilità a mettere insieme le cose. Ad esempio, una finestra grafica che visualizza un quadrato eredita dalla classe FinestraGrafica e Quadrato? Non usare quindi l'ereditarietà multipla a sproposito in quanto, in molti casi, l’ereditarietà semplice può essere sufficiente se si usa con profitto la relazione di clientela.

Possibilità di conflitti a livello di nome

sia sulle variabili

incompatibilità o meno sugli attributi; una variabile sola visibile e le altre ottenibili

sia sulle operazioni

overriding: la specifica più vicina è quella visibile, le altre sono ottenibili con notazione opportuna.

L’ereditarietà mescola:

aspetti di implementazione.

aspetti di principio.

A volte può valere la pena di distinguere tra

tipo: concetto astratto

classe: rappresentazione informazioni

Alcune proposte definiscono e contrastano

Questo consente anche di avere implementazioni multiple dello stesso tipo.

Naturalmente anche le classi hanno identificatori unici se sono oggetti (Smalltalk), mentre altrove sono puri descrittori (C++, Eiffel)

 


Back
Index
Next