Introduzione al sovraccarico in Java

Java è un linguaggio di programmazione orientato agli oggetti e segue i concetti base di OOP. Il sovraccarico è uno dei concetti importanti in Java. Il sovraccarico consente metodi diversi con lo stesso nome in una classe ma con firme diverse. La firma include il numero di parametri, il tipo di dati dei parametri e la sequenza dei parametri passati nel metodo. In Java, il metodo e i costruttori possono essere sovraccaricati entrambi. Il sovraccarico di metodi viene eseguito in fase di compilazione e quindi è noto al polimorfismo in fase di compilazione. Il sovraccarico di metodi in una classe viene fatto per aumentare la leggibilità dei programmi in modo che il programmatore possa scrivere un'implementazione migliorata di qualsiasi metodo per diversi scenari.

Considera uno scenario in cui il programmatore vuole scoprire il volume di varie figure geometriche come il cubo, il cilindro e il prisma rettangolare. Poiché tre di essi hanno una formula diversa per trovare il volume e hanno un numero diverso di parametri. Il volume del cubo richiederà solo un parametro, il cilindro ne prenderà due e il prisma rettangolare prenderà tre parametri. Ma lo scopo principale è quello di trovare solo il volume di cifre. Quindi possiamo creare metodi separati di volume per figure diverse ma con lo stesso nome. In questo modo, il metodo di sovraccarico viene utilizzato in scenari pratici.

Come funziona il sovraccarico in Java?

Il funzionamento del metodo di sovraccarico è spiegato con un esempio:

Codice:

class Main(
int volume(int side)
(
return side * side * side;
)
int volume(int length, int breadth, int height)
(
return length*breadth*height;
)
double volume(int radius, int height)
( return 3.14 * (radius * radius)* height / 3;
)
public static void main(String() args)
(
Main oe = new Main();
System.out.println("Volume of Cube " +oe.volume(10));
System.out.println("Volume of Rectangular prism " +oe.volume(10, 12, 30));
System.out.println("Volume of Cone "+oe.volume(5, 10));
) )

Produzione:

Spiegazione del codice precedente: Nell'esempio precedente, dobbiamo trovare il volume di 3 figure geometriche, quindi abbiamo creato 3 metodi di overload separati con lo stesso nome di "volume" ma tutti i metodi hanno il diverso numero di argomenti. Quindi, nel metodo principale, quando viene eseguito one.volume (10), viene chiamato il metodo del volume con un singolo parametro, ovvero volume int (lato int). Analogamente per gli altri metodi di volume, sulla base del numero di argomenti, vengono chiamati ed elaborati metodi diversi.

In questo esempio, i metodi sono sovraccaricati sulla base del numero di argomenti, ma possono anche essere sovraccaricati sulla base del tipo di dati dei parametri e della sequenza dei parametri e quindi chiamati solo in base a quello.

Tipi di sovraccarico in Java

Esistono sostanzialmente 3 modi di sovraccarico del metodo in Java:

1. Numero di parametri

I metodi Java possono essere sovraccaricati dal numero di parametri passati nel metodo. Ad esempio, se il metodo 1 del volume ha 2 parametri e un altro metodo ha 3 parametri, viene inserito in Sovraccarico in base al numero di parametri.

Codice:

class Multiplication
(
int mult(int a, int b) // method mult having 2 parameters
(
return a*b;
)
//Method Overloading on number of parameters
int mult(int a, int b, int c) // method mult having 3 parameters
(
return a*b*c;
)
)
class Main
(
public static void main(String() args)
(
Multiplication M = new Multiplication();
System.out.println(M.mult(10, 9));
System.out.println(M.mult(10, 9, 8));
)
)

Produzione:

2. Tipo di dati dei parametri

Il tipo di dati dei parametri passati nel metodo conta molto e quindi i metodi possono essere considerati sovraccaricati se 2 o metodi hanno lo stesso nome con lo stesso numero di argomenti uguale o diverso ma tipi di dati diversi di parametri nei diversi metodi.

Codice:

class Multiplication
(
int mult(int a, int b) // method mult having 2 parameters
(
return a*b;
)
//Method Overloading on datatype of parameters
double mult(double a, double b) // method mult overloaded
(
return a*b;
)
)
class Main
(
public static void main(String() args)
(
Multiplication M = new Multiplication();
System.out.println(M.mult(10, 9));
System.out.println(M.mult(10.5, 9.8));
)
)

Produzione:

3. Sequenza di parametri

Il metodo di sovraccarico può essere eseguito anche modificando la sequenza di parametri di 2 o più metodi sovraccarichi. Ad esempio, se i parametri di 1 metodo sono (String x, char y) e l'altro metodo è (char x, String y) ma entrambi hanno lo stesso nome, i 2 metodi precedenti vengono considerati sovraccaricati da una sequenza diversa di parametri.

Codice:

class Employee
(
void details(String name, char rank) // method details having 2 parameters
(
System.out.println("Employee name is "+name);
System.out.println("Employee ranking is "+rank);
) //Method Overloading on sequence of parameters
void details(char rank, String name) // method details overloaded
(
System.out.println("Employee name is "+name);
System.out.println("Employee ranking is "+rank);
)
)
class Main
(
public static void main(String() args)
( Employee emp = new Employee();
emp.details("Rajesh", 'A'); // calls the first method (details(String, char))
emp.details("Ram", 'B'); // calls the second method (details(char, String))
)
)

Produzione:

Spiegazione del codice sopra: Nell'esempio sopra, entrambi i metodi di "dettagli" sono sovraccaricati sulla base della sequenza se parametri. Quando viene chiamata l'istruzione emp.details ('Rajesh', 'A'), viene chiamato ed elaborato il metodo con gli argomenti nell'ordine (String, char), ovvero i dettagli del vuoto (Nome stringa, char rank).

Regole per il sovraccarico in Java

Di seguito sono riportate le regole da ricordare nel sovraccarico Java:

  • La prima e principale regola di sovraccarico del metodo è che i metodi devono avere lo stesso nome in una singola classe.
  • Due o più metodi in una classe possono essere sovraccaricati sulla base di firme diverse e la firma include il numero di parametri, i tipi di dati dei parametri, la sequenza dei parametri come spiegato sopra.
  • Il tipo restituito di un metodo non fa parte della firma, quindi il sovraccarico non può mai essere fatto sulla base del tipo restituito e, se fatto, questo crea l'errore di compilazione.

Conclusione

Il sovraccarico è uno dei concetti importanti in Java e può essere fatto sia per metodi che per costruttori. Ci sono alcune regole di sovraccarico che dovrebbero essere tenute a mente prima di implementarle nella programmazione.

Articoli consigliati

Questa è una guida al sovraccarico in Java. Qui discutiamo alcune regole per il sovraccarico che dovrebbero essere considerate prima dell'implementazione di concetti importanti in Java, metodi e costruttori. Puoi anche consultare i nostri altri articoli correlati per saperne di più -

  1. Sovraccarico in C ++
  2. Strumenti di distribuzione Java
  3. Eredità in Java
  4. Sovraccarico in PHP
  5. Polimorfismo in Java
  6. Eredità in PHP

Categoria: