>> Elettronica Tecnologia >  >> Casa intelligente >> Vita intelligente

I vantaggi e gli svantaggi del metodo di sovraccarico in Java

I metodi sovraccaricati sono metodi della stessa classe che condividono lo stesso nome ma accettano diversi tipi di variabili come argomenti. Ad esempio, una classe può contenere due diversi metodi "add":uno che accetta due valori doppi, "add(double a, double b)" e uno che accetta due valori interi, "add(int a, int b). " Il computer decide automaticamente quale metodo chiamare in fase di esecuzione in base ai tipi di variabili passati al metodo.

Flessibilità

I metodi sovraccaricati offrono ai programmatori la flessibilità di chiamare un metodo simile per diversi tipi di dati. Se stai lavorando ad un programma di matematica, ad esempio, potresti usare l'overloading per creare diverse classi "moltiplica", ognuna delle quali moltiplica un numero diverso di tipo di argomento:il più semplice "moltiplica(int a, int b)" moltiplica due numeri interi; il metodo più complicato "multiply(double a, int b, int c)" moltiplica un double per due interi -- potresti quindi chiamare "moltiplicare" su qualsiasi combinazione di variabili per cui hai creato un metodo sovraccarico e ricevere il risultato corretto.

Costruttori

L'overloading viene utilizzato anche sui costruttori per creare nuovi oggetti con diverse quantità di dati. Ad esempio, è possibile utilizzare l'overloading per creare tre diversi costruttori per un oggetto "Casa" con un numero civico, nome della via e variabili di colore. Il costruttore più semplice "House()" non accetta argomenti e crea una casa con variabili predefinite o vuote. Un costruttore più complesso, "House(int houseNumber, String streetName)," crea una casa con il numero civico e il nome della via specificati, ma un colore predefinito o vuoto. Il costruttore più complesso, "House(int houseNumber, String streetName, String color)," crea una casa con tutte le informazioni specificate, senza lasciare nulla come predefinito. È quindi possibile creare un oggetto casa in base alle informazioni attualmente disponibili, con le informazioni non disponibili lasciate vuote o predefinite.

Riferimenti ambigui

I metodi sovraccaricati devono utilizzare numeri o tipi di argomenti diversi per evitare ambiguità. Se si creano due metodi nella stessa classe che hanno lo stesso nome e si accettano due interi come argomenti, il compilatore Java non sarà in grado di distinguere tra i due, anche se le variabili di input hanno nomi diversi. Ad esempio, il metodo "add(int a, int b)" non può esistere nella stessa classe del metodo "add(int c, int d)."

Tipi di reso

È necessario definire un tipo restituito per ogni metodo sottoposto a overload. I metodi possono avere diversi tipi di restituzione, ad esempio "add(int a, int b)" può restituire un intero, mentre "add(double a, double b)" restituisce un double. Tuttavia, Java non è in grado di distinguere tra due metodi diversi in base al tipo restituito. Pertanto, "int multiply(double a, double b)" non può esistere nella stessa classe di "double multiply(double a, double b)."


  1. I vantaggi e svantaggi di Fractional distillazione
  2. Vantaggi & Svantaggi del Mobile Internet
  3. I vantaggi e gli svantaggi degli Internet Cafe
  4. I vantaggi e gli svantaggi di GoToMeeting
  5. Vantaggi e svantaggi delle macchine virtuali Java
  6. I vantaggi e gli svantaggi dei computer mainframe