Sono sempre io... non avendo fondamenti di OOP trovo una certa difficoltà nel calarmi nella mentalità di questo tipo di programmazione: pur intuendone la potenza per il momento la sto imparando passivamente e ciò non mi piace, oltre a non essermi di nessun aiuto!
Per esempio qualcuno sa spiegarmi con un esempio concreto quando verrà il momento che apprezzerò il dispatch dinamico dei metodi? A cosa serve una cosa del genere, tipo quella riportata qui sotto?
class GreenBox {
void callme() {
System.out.println("Inside Green Box");
}
}
class RedBox extends GreenBox {
void callme() {
System.out.println("Inside Red Box");
}
}
class Dispatch {
public static void main(String args[]) {
GreenBox x = new RedBox();
x.callme();
}
}
C:\java_source>java Dispatch
Inside Red Box
Istanzio una variabile di un tipo e poi la riferisco ad un altro, perchè? Avrei ottenuto lo stesso risultato con:
class Dispatch {
public static void main(String args[]) {
RedBox x = new RedBox();
x.callme();
}
}
ed allora mi sorge spontaneo non capire l'utilità di tutto ciò pur sapendo che a qualcosa serve!
Abbiate pazienza.....![]()