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)