Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    225

    [Java] Ridefinre un metodo

    Ciao a tutti!
    Vorrei un chiarimento su come si ridefinisce un metodo: va riscritto tutto il metodo o solo la parte del metodo che voglio cambiare?

    Ad esempio, devo ridefinire questo metodo:
    codice:
    /** Metodo per salvare su file una lista di oggetti ClienteSocieta. */
        public void salvaListaClienti(ListNode l) {
            while(l.length()!=0) {
                salvaCliente((ClienteSocieta)l.head());
                salvaListaClienti((ListNode)l.tail());
            }
            
        }
    La sola istruzione che devo cambiare è questa:
    codice:
                salvaCliente((ClienteDittaIndividuale)l.head());
    Devo riscrivere anche il resto?
    GRAZIE

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Quando ridefinisci un metodo non fai altro che creare un metodo con la stessa firma di un metodo di una super classe. Ad esempio:

    codice:
    class A {
     public void aaa(int x) {
       corpo 1
     }
    }

    codice:
    class B extends A {
     public void aaa(int x) {
       corpo 2
     }
    }
    Nella classe B il metodo aaa(int) viene ridefinito (in genere corpo1 e corpo2 sono diversi)

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    225
    Ok, ma se corpo1 e corpo 2 hanno delle istruzioni uguali, devo riscrivere anche quelle?
    O devo riscrivere solo le istruzioni diverse?
    GRAZIE MILLE!

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    Originariamente inviato da ELY85
    Ok, ma se corpo1 e corpo 2 hanno delle istruzioni uguali, devo riscrivere anche quelle?
    O devo riscrivere solo le istruzioni diverse?
    GRAZIE MILLE!
    In genere, l'implementazione più generica si trova nella superclasse, mentre nella classe derivata implementi la logica più specifica, richiamando in quest'ultimo, opzionalmente, prima o dopo, il metodo ereditato dalla classe base.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    225
    GRAZIE!

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.