Originariamente inviato da andbin
Tecnicamente puoi invocarlo tranquillamente ... lo "erediti".
aggiungi( .... );


Tuttavia, ti avverto che dal punto di vista concettuale non quadra molto.
Ma c'è un overriding : aggiungi è un metodo sia della classe Array che della classe Lista.
Se l' oggetto è di tipo Array chiama soltanto il metodo della classe Array.


Poi ho riscontrato un altro problema: se dichiaro un riferimento di tipo Array, non è in grado di accedere al campo prox del suo supertipo.
Innanzitutto la classe Lista l' ho modificata così:
codice:
protected Lista prox;
Così il campo prox può essere acceduto anche se ho un riferimento di tipo Array.
Ma il problema è che se dichiaro:
codice:
Array ptr;
ptr=prox;
Mi da errore:
"incompatible types - found Lista but expected Array"
Ma non dovrebbero essere tipi compatibili? Cioè Array è di tipo Array, ma anche di tipo Lista, e anche di tipo Object.Per cui dovrebbe essere compatibile col tipo Lista