Capitolo-6 Flashcards
Programmazione ad Oggetti Utilizzando Java: Polimorfismo.
Polimorfismo
Il polimorfismo è la capacità di un oggetto di assumere molteplici forme.
Convenzione per i Reference
Il polimorfismo in Java viene realizzato principalmente attraverso l’uso di riferimenti di classe padre per fare riferimento a oggetti di classe figlia.
Polimorfismo per Metodi
Il polimorfismo per metodi permette di chiamare metodi che hanno lo stesso nome ma comportamenti differenti.
Overload
L’overload è un tipo di polimorfismo in cui più metodi nello stesso ambito hanno lo stesso nome ma differenti firme (parametri).
Override
L’override è un tipo di polimorfismo in cui un metodo in una classe figlia ha la stessa firma di un metodo nella classe padre.
Override e Classe Object
I metodi della classe Object come toString(), clone(), equals() e hashCode() possono essere sovrascritti per fornire comportamenti specifici nelle classi figlie.
Annotazione Override
L’annotazione @Override viene utilizzata per indicare che un metodo è destinato a sovrascrivere un metodo in una superclasse.
Polimorfismo per Dati
Il polimorfismo per dati permette di trattare oggetti di diversi tipi di classe derivati da una stessa classe base in modo uniforme.
Parametri Polimorfi
I parametri polimorfi sono parametri di metodo che possono accettare istanze di diverse classi che condividono una superclasse comune.
Collezioni Eterogenee
Le collezioni eterogenee possono contenere oggetti di tipi diversi che condividono una superclasse comune.
Casting di Oggetti
Il casting di oggetti è utilizzato per convertire un tipo di dato in un altro. Il casting esplicito è necessario quando si converte da una superclasse a una sottoclasse.
Invocazione Virtuale dei Metodi
L’invocazione virtuale dei metodi permette a Java di determinare il metodo da chiamare a runtime in base al tipo reale dell’oggetto.
Esempio di Utilizzo del Polimorfismo
Un esempio comune di polimorfismo è l’uso di una superclasse di riferimento per chiamare metodi sovrascritti nelle classi figlie.
Conclusioni
Il polimorfismo aumenta la flessibilità e la riusabilità del codice, permettendo di trattare oggetti di diverse classi derivate in modo uniforme.