Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16

Discussione: Polimorfismo

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    324

    Polimorfismo

    Ciao a tutti,

    apro questa discussione perchè cercando su internet non sono riuscito a trovare una definizione esaustiva di Polimorfismo...

    Adesso qualcuno mi saprebbe spiegare in maniera approfondita che il termine Polimorfismo? e sopratutto in quali casi si usa? e perchè?


    Grazie anticipatamente

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    613

    Re: Polimorfismo

    Originariamente inviato da manublack
    Ciao a tutti,

    apro questa discussione perchè cercando su internet non sono riuscito a trovare una definizione esaustiva di Polimorfismo...

    Adesso qualcuno mi saprebbe spiegare in maniera approfondita che il termine Polimorfismo? e sopratutto in quali casi si usa? e perchè?


    Grazie anticipatamente
    Wikipedia ha pagine in italiano e inglese dedicate (e comunque Google restituisce una valanga di materiale), cosa non ti è chiaro più precisamente?
    effeffe

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    324

    Re: Re: Polimorfismo

    Originariamente inviato da Kaamos
    Wikipedia ha pagine in italiano e inglese dedicate (e comunque Google restituisce una valanga di materiale), cosa non ti è chiaro più precisamente?
    si ho visto che si trova molto su internet, ma non ho trovato niente che mi disse in maniera esaustiva perchè e quando usare questo determinato criterio....

    Per capirsi ti faccio un esempio:

    codice:
    public class Padre { 	 	
               public void stampa(){ 		 
             		System.out.println("ciao"); 		 	
               } 	 
    }
    codice:
    public class Figlio extends Padre {  	
                           public void stampa() { 		
                                  System.out.println("Ciao Mondo"); 		 	
                            } 	 
    }
    codice:
     public class Main {  	
                      /** 	 * @param args 	 */ 	 	 	 	
                     
                      public static void main(String[] args) { 		
                      // TODO Auto-generated method stub 		
                            Padre padre = new Figlio(); 		
                            padre.stampa(); 	
                      }  
    }
    QUesto è un esempio di polimorfismo solo che adesso volevo capire una cosa, perchè devo eseguire questa determinata operazione? Non basta che istanzi direttamente la classe figlio e richiami direttamente il metodo stampa? A che fine mi serve tale procedura?

    Grazie anticipatamente

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    613

    Re: Re: Re: Polimorfismo

    Originariamente inviato da manublack
    si ho visto che si trova molto su internet, ma non ho trovato niente che mi disse in maniera esaustiva perchè e quando usare questo determinato criterio....

    Per capirsi ti faccio un esempio:

    codice:
    public class Padre { 	 	
               public void stampa(){ 		 
             		System.out.println("ciao"); 		 	
               } 	 
    }
    codice:
    public class Figlio extends Padre {  	
                           public void stampa() { 		
                                  System.out.println("Ciao Mondo"); 		 	
                            } 	 
    }
    codice:
     public class Main {  	
                      /** 	 * @param args 	 */ 	 	 	 	
                     
                      public static void main(String[] args) { 		
                      // TODO Auto-generated method stub 		
                            Padre padre = new Figlio(); 		
                            padre.stampa(); 	
                      }  
    }
    QUesto è un esempio di polimorfismo solo che adesso volevo capire una cosa, perchè devo eseguire questa determinata operazione? Non basta che istanzi direttamente la classe figlio e richiami direttamente il metodo stampa? A che fine mi serve tale procedura?

    Grazie anticipatamente
    Qui hai il controllo su tutto, ma immagina invece di scrivere un metodo e ricevere un oggetto Padre come parametro: non sai se effettivamente si tratta di un'istanza di Figlio o meno (in realtà puoi ma questo ora non c'entra), ma se tu sai che il metodo stampa di un oggetto Padre (ed eventualmente di ogni sua sottoclasse) fa quello che t'interessa, tu lo invochi e a seconda del tipo effettivo dell'oggetto verrà invocato il metodo giusto.

    E' difficile capire l'utilità delle cose da esempi troppo semplificati, qui puoi trovare un esempio leggermente più articolato ma anche sensato, direttamente dai tutorial Oracle: http://docs.oracle.com/javase/tutori...ymorphism.html
    effeffe

  5. #5
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: Re: Re: Polimorfismo

    Originariamente inviato da manublack
    QUesto è un esempio di polimorfismo solo che adesso volevo capire una cosa, perchè devo eseguire questa determinata operazione? Non basta che istanzi direttamente la classe figlio e richiami direttamente il metodo stampa? A che fine mi serve tale procedura?

    Grazie anticipatamente
    Quell'esempio è abbastanza inutile, non spiega perché il polimorfismo è indispensabile nella programmazione ad oggetti.

    Prova a leggere il mio intervento in questa discussione e vedi se ti è d'aiuto.
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    324

    Re: Re: Re: Re: Polimorfismo

    Originariamente inviato da Alex'87
    Quell'esempio è abbastanza inutile, non spiega perché il polimorfismo è indispensabile nella programmazione ad oggetti.

    Prova a leggere il mio intervento in questa discussione e vedi se ti è d'aiuto.
    Sinceramente non molto..... non ho capito bene l'esempio... anche perchè nel esempio si parla di interfacce da quanto ho capito il polimorfismo va in parallelo con l'ereditarietà.... o sbaglio?
    ,
    spero di non dire castronate...

    Grazie anticipatamente.

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    613
    Se non hai ancora familiarità con le interfacce, nell'esempio che ho linkato non ce ne sono, ed è concettualmente molto semplice.
    effeffe

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    324
    Originariamente inviato da Kaamos
    Se non hai ancora familiarità con le interfacce, nell'esempio che ho linkato non ce ne sono, ed è concettualmente molto semplice.
    Si ho visto.... ed è piu semplice come esempio... Ma solo che non capisco una cosa in che caso si usa tale criterio? e poi è errato dire che il polimorfismo necessita dell'eredità per funzionare?

    Grazie in anticipo a tutte e due....

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    613
    Originariamente inviato da manublack
    Si ho visto.... ed è piu semplice come esempio... Ma solo che non capisco una cosa in che caso si usa tale criterio? e poi è errato dire che il polimorfismo necessita dell'eredità per funzionare?

    Grazie in anticipo a tutte e due....
    Quando si instaura una qualche gerarchia, con ereditarietà, interfacce ecc... il tutto viene naturale, come nell'esempio. In quel caso per esempio, se stessi scrivendo un metodo che accetta come parametro un oggetto Bike, non importa se si tratta di un oggetto Bike, MountainBike, RoadBike o altro ancora, avrà sempre il metodo che restituisce la stringa e sarà sempre adatto al tipo di oggetto qualunque esso sia. E tu potrai lavorare su oggetti di tipo Bike senza pensare alle eventuali sottoclassi.

    Beh, dev'esserci ereditarietà o interfacce, altrimenti non c'è nessuna relazione di sottotipo.
    effeffe

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    324
    Originariamente inviato da Kaamos
    Quando si instaura una qualche gerarchia, con ereditarietà, interfacce ecc... il tutto viene naturale, come nell'esempio. In quel caso per esempio, se stessi scrivendo un metodo che accetta come parametro un oggetto Bike, non importa se si tratta di un oggetto Bike, MountainBike, RoadBike o altro ancora, avrà sempre il metodo che restituisce la stringa e sarà sempre adatto al tipo di oggetto qualunque esso sia. E tu potrai lavorare su oggetti di tipo Bike senza pensare alle eventuali sottoclassi.

    Beh, dev'esserci ereditarietà o interfacce, altrimenti non c'è nessuna relazione di sottotipo.
    ok va bene che ci deve essere eredità o interfacce ma purtroppo non riesco a capire il perchè? Nel senso nell'esempio che mi hai illustrato te ho visto che Bicycle viene ereditato da MountainBike e RoadBike e dopo di che vengono creati tre oggetti Bicycle con la differenza che negli ultimi due hanno refenza agli oggetti figli....

    Allora perchè non istanziare direttamente le classi figlio? Diciamo che non capisco quando concettualmente usare il polimorfismo....

    Scusa la mia bacagine ma mi serve per capire un corso.

    Grazie anticipatamente.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.