Polimorfismo Nei Principi OOP
Polimorfismo
Il polimorfismo è un altro principio della OOP. Hai già incontrato il polimorfismo quando hai sovraccaricato e sovrascritto i metodi. In generale, questa è l'essenza del polimorfismo. Ma la definizione di polimorfismo può sembrare un po' intimidatoria:
Ma in realtà, è molto più semplice di quanto sembri. Polimorfismo, in termini semplici, può essere suddiviso in 2 parti:
- Sovraccarico di metodi: ciò che hai imparato in questo capitolo, ma rivediamolo.
Vediamo un esempio: dobbiamo scrivere un metodo che accetti un parametro di tipo int e restituisca una String, così come un metodo che faccia lo stesso ma con un parametro di tipo long. Vediamo il frammento di codice:
Main.java
1234567public String doStuff(int parameter) { //... } public String doStuff(long parameter) { //... }
Come puoi vedere sopra, sono stati creati 2 metodi con lo stesso nome ma che possono svolgere funzioni diverse. Questo è il sovraccarico di metodi.
- Sovrascrittura di metodi:
Hai già incontrato questo argomento quando hai sovrascritto il metodo
toStringin questo capitolo. Ma rivediamolo ancora una volta.
Analizziamo un frammento di codice che mostra come sovrascrivere un metodo. Abbiamo una classe chiamata Airplane che eredita dalla classe Transport. Nella classe Transport è presente un metodo chiamato move che restituisce "This transport has started moving".
Abbiamo bisogno che l'aereo "inizi a volare" invece di "muoversi". Per ottenere questo risultato, sovrascriveremo il metodo move nella classe figlia:
Transport.java
Airplane.java
1234567public class Transport { // some fields public String move() { return "This transport has started moving"; } }
Come puoi vedere, abbiamo sovrascritto il metodo della classe genitore nella classe figlia come richiesto.
In questo modo, il polimorfismo completa molto bene l'ereditarietà. Attraverso il polimorfismo, è possibile estendere il codice in modo conveniente e ottimale, rendendolo flessibile.
1. Perché abbiamo bisogno del polimorfismo in Java?
2. In che modo il polimorfismo completa l'ereditarietà?
3. Quale parola chiave viene utilizzata per sovraccaricare un metodo?
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Can you explain the difference between method overloading and method overriding?
Can you provide more examples of polymorphism in Java?
Why is polymorphism important in object-oriented programming?
Awesome!
Completion rate improved to 4.76
Polimorfismo Nei Principi OOP
Scorri per mostrare il menu
Polimorfismo
Il polimorfismo è un altro principio della OOP. Hai già incontrato il polimorfismo quando hai sovraccaricato e sovrascritto i metodi. In generale, questa è l'essenza del polimorfismo. Ma la definizione di polimorfismo può sembrare un po' intimidatoria:
Ma in realtà, è molto più semplice di quanto sembri. Polimorfismo, in termini semplici, può essere suddiviso in 2 parti:
- Sovraccarico di metodi: ciò che hai imparato in questo capitolo, ma rivediamolo.
Vediamo un esempio: dobbiamo scrivere un metodo che accetti un parametro di tipo int e restituisca una String, così come un metodo che faccia lo stesso ma con un parametro di tipo long. Vediamo il frammento di codice:
Main.java
1234567public String doStuff(int parameter) { //... } public String doStuff(long parameter) { //... }
Come puoi vedere sopra, sono stati creati 2 metodi con lo stesso nome ma che possono svolgere funzioni diverse. Questo è il sovraccarico di metodi.
- Sovrascrittura di metodi:
Hai già incontrato questo argomento quando hai sovrascritto il metodo
toStringin questo capitolo. Ma rivediamolo ancora una volta.
Analizziamo un frammento di codice che mostra come sovrascrivere un metodo. Abbiamo una classe chiamata Airplane che eredita dalla classe Transport. Nella classe Transport è presente un metodo chiamato move che restituisce "This transport has started moving".
Abbiamo bisogno che l'aereo "inizi a volare" invece di "muoversi". Per ottenere questo risultato, sovrascriveremo il metodo move nella classe figlia:
Transport.java
Airplane.java
1234567public class Transport { // some fields public String move() { return "This transport has started moving"; } }
Come puoi vedere, abbiamo sovrascritto il metodo della classe genitore nella classe figlia come richiesto.
In questo modo, il polimorfismo completa molto bene l'ereditarietà. Attraverso il polimorfismo, è possibile estendere il codice in modo conveniente e ottimale, rendendolo flessibile.
1. Perché abbiamo bisogno del polimorfismo in Java?
2. In che modo il polimorfismo completa l'ereditarietà?
3. Quale parola chiave viene utilizzata per sovraccaricare un metodo?
Grazie per i tuoi commenti!