Sto cercando di migliorare la mia comprensione del polimorfismo.
Dire che ho una classe base chiamata baseClass
con un metodo chiamato foo()
e ho tre classi derivate chiamate derived1
, derived2
e derived3
che sovrascrivono e implementano le loro versioni della% metodofoo()
.
Se ho una matrice di oggetti baseClass
può contenere oggetti derivati da tale classe base in questo modo:
baseClassArray: [ derivedObj1, derivedObj2, derivedObj3];
Inoltre, se estraggo un oggetto da questa matrice e chiamo il metodo foo()
, chiamerebbe il metodo definito in baseClass o il metodo definito nella rispettiva classe derivata?
O questo dipende dal linguaggio di programmazione in cui è implementato?