• Catania / Scienze MM. FF. NN. / Informatica
  • Overloading,overriding,polimorfismo e binding

Rispondi Cita Salva
Ciao,

qualcuno potrebbe chiarirmi le idee riguardo i concetti di Overloading,overriding,polimorfismo e binding, magari con qualche semplicissimo e demenziale esempio?Spero di non chiedere troppo...

In bocca al lupo x l´esame finale!
brawnsr-votailprof
brawnsr-votailprof - Ominide - 0 Punti
Rispondi Cita Salva
Allora:



Overloading: E´ una proprietà che ci consente di definire lo stesso metodo(o costruttore) più volte all´interno di una classe variando però i parametri che forniamo in ingresso.

Es:

public int mioMetodo(int a, int b)

public int mioMetodo(int a)

il compilatore sceglie a seconda del tipo di chiamata (con 1 o 2 parametri) qual´è il metodo da eseguire in quella circostanza.



Overriding: E´ la ridefinizione di un metodo già definito in una superclasse (che quindi andrebbe bene anche per la sottoclasse) che può essere utile ad esempio per implementare in modo più efficiente il metodo stesso.

Es:

class rettangolo

{

public static int area(int base, int altezza)

{

return base*altezza;

}

}



class quadrato extends rettangolo

{

public static int area(int lato)

return lato*lato;

}

}



spero di essere stato chiaro...



Polimorfismo e binding: In fase di esecuzione la JVM sceglie se eseguire un metodo o un altro overridden... uff che fatica spiegare ´sti concetti... CIAO
cyberboy-votailprof
cyberboy-votailprof - Ominide - 0 Punti
Rispondi Cita Salva
Il polimorfismo è una proprietà degli oggetti in virtu della quale riescono a fare uso dei metodi adatti. Questo avviene grazie al meccanismo di binding dinamico, cioé la JVM riesce a run-time (esecuzione) a capire quale metodo chiamare, semplicemente facendo riferimento a come l´oggetto è stato *costruito* e non dichiarato.

Quindi:



class rettangolo etc...



class quadrato extends rettangolo etc...





rettangolo oggetto = new quadrato();



Alla jvm non interessa il tipo della dichiarazione (rettangolo) ma solo come esso è stato costruito (quadrato). Ovviamente ci deve essere una relazione gerarchica tra i 2, e inoltre non puoi dichiarare un tipo quadrato e costruirlo come rettangolo...



Ciao
Come guadagno Punti nel Forum? Leggi la guida completa
In evidenza
Classifica Mensile
Vincitori di novembre
Vincitori di novembre

Come partecipare? | Classifica Community

Community Live

Partecipa alla Community e scala la classifica

Vai al Forum | Invia appunti | Vai alla classifica

mc2

mc2 Genius 341 Punti

Comm. Leader
Daniele

Daniele Blogger 27611 Punti

VIP
Registrati via email