Nwlapcug.com


I vantaggi & svantaggi del metodo di overload in Java

Metodi di overload sono nella stessa classe che condividono lo stesso nome ma accettano diversi tipi di variabili come argomenti. Ad esempio, una classe può contenere due metodi diversi di "aggiungere": uno che accetta due valori double, "aggiungere (double a, double b)" e quello che accetta due valori integer, "aggiungere (int a, int b)." Il computer decide automaticamente quale metodo da chiamare in fase di esecuzione basato sui tipi di variabile viene passati al metodo.

Flessibilità

Metodi di overload dare ai programmatori la flessibilità necessaria per chiamare un metodo simile per i diversi tipi di dati. Se si lavora su un programma di matematica, ad esempio, è possibile utilizzare l'overload per creare diverse classi di "moltiplicare", ognuno dei quali si moltiplica un numero diverso di tipo di argomento: il più semplice "moltiplicare (int a, int b)" moltiplica due numeri interi; il metodo più complicato "multiply (double a, int b, int c)" Moltiplica una matrimoniale di due numeri interi..--si potrebbe poi chiamata «moltiplica» su qualsiasi combinazione di variabili che è stato creato un metodo di overload per e ricevere il risultato corretto.

Costruttori

L'overload è utilizzato anche sui costruttori per creare nuovi oggetti dati diverse quantità di dati. Ad esempio, è possibile utilizzare l'overload per creare tre diversi costruttori per un oggetto di "Casa" con un numero civico, nome della strada e colori variabili. Il costruttore più semplice "House()" non accetta argomenti e crea una casa con predefinito o variabili vuote. Un costruttore più complesso, "House (int houseNumber, String streetName)," crea una casa con il numero civico specificato e nome della via, ma un predefinito o colore 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 di casa sulla base delle informazioni attualmente disponibili, le informazioni non disponibili lasciate vuote o a default.

Riferimenti ambigui

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

Tipi restituiti

È necessario definire un tipo restituito per ogni metodo di overload. Metodi possono avere diversi tipi di ritorno-- ad esempio, "aggiungere (int a, int b)" potrebbe restituire un valore integer, mentre "aggiungere (double a, double b)" restituisce un valore double. Tuttavia, Java non può distinguere tra due diversi metodi in base al loro tipo restituito. Quindi, "int moltiplica (double a, double b)" non può esistere nella stessa classe come "double multiply (double a, double b)."