Вступ до перевантаження в Java

Java - це об'єктно-орієнтована мова програмування, яка відповідає основним концепціям OOP. Перевантаження - одне з важливих понять на Java. Перевантаження дозволяє різні методи, що мають однакове ім’я в класі, але з різними підписами. Підпис включає кількість параметрів, тип даних параметрів та послідовність параметрів, переданих у методі. У Java і метод, і конструктори можуть бути перевантажені. Перевантаження методів проводиться в час компіляції, і тому це відомо в поліморфізм часу компіляції. Перевантаження методів у класі робиться для підвищення читабельності програм, щоб програміст міг написати розширену реалізацію будь-якого методу для різних сценаріїв.

Розглянемо сценарій, в якому програміст хоче з'ясувати об'єм різних геометричних фігур, таких як куба, циліндр і прямокутна призма. Оскільки три з них мають різну формулу пошуку обсягу і мають різну кількість параметрів. Об’єм куба знадобиться лише один параметр, циліндр візьме два, а прямокутна призма візьме три параметри. Але головне призначення - знайти лише обсяг фігур. Таким чином, ми можемо створити окремі методи обсягу для різних фігур, але з однаковою назвою. Таким чином, метод перевантаження використовується в практичних сценаріях.

Як працює перевантаження в Java?

Робота перевантаження методу пояснюється прикладом:

Код:

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));
) )

Вихід:

Пояснення вищевказаного коду: У наведеному вище прикладі нам потрібно знайти об'єм з 3 геометричних фігур, тому ми створили 3 окремі перевантажені методи з тим самим назвою "том", але всі методи мають різну кількість аргументів. Отже, в основному методі, коли запускається one.volume (10), тоді називається метод об'єму, що має єдиний параметр, тобто int volume (int side). Аналогічно для інших методів обсягу, виходячи з кількості аргументів, різні методи викликаються та обробляються.

У цьому прикладі методи перевантажуються на основі кількості аргументів, але вони також можуть бути перевантажені на основі типу даних параметрів і послідовності параметрів і, отже, викликаються відповідно до цього.

Типи перевантаження в Java

В основному є три способи перевантаження методу на Java:

1. Кількість параметрів

Методи Java можуть бути перевантажені кількістю параметрів, переданих у методі. Наприклад, якщо 1 метод обсягу має 2 параметри, а інший метод має 3 параметри, то він потрапляє під перевантаження на основі кількості параметрів.

Код:

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));
)
)

Вихід:

2. Тип даних параметрів

Тип даних параметрів, переданих у методі, має велике значення, а отже, методи можуть розглядатися як перевантажені, якщо 2 або методи мають однакове ім'я, що має однакову чи різну кількість аргументів, але різні типи даних параметрів у різних методах.

Код:

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));
)
)

Вихід:

3. Послідовність параметрів

Метод Перевантаження також може бути здійснено шляхом зміни послідовності параметрів 2 або більше перевантажених методів. Наприклад, якщо параметрами 1 методу є (String x, char y), а інший метод (char x, String y), але обидва мають однакове ім'я, то вищевказані два способи вважаються перевантаженими різною послідовністю параметри.

Код:

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))
)
)

Вихід:

Пояснення наведеного вище коду: У наведеному вище прикладі обидва способи 'деталей' перевантажуються на основі послідовності, якщо параметри. Коли виклик emp.details ('Rajesh', 'A') викликається, тоді викликається і обробляється метод, що містить аргументи в порядку (String, char), тобто недійсні дані (назва рядка, char rank).

Правила перевантаження в Java

Нижче наведено правила, які слід пам’ятати при перевантаженні Java:

  • Перше і головне правило перевантаження методу - це те, що Методи повинні мати однакове ім'я в одному класі.
  • Два або більше методів у класі можуть бути перевантажені на основі різних підписів, а підпис включає кількість параметрів, типи даних параметрів, послідовність параметрів, як пояснено вище.
  • Тип повернення методу не є частиною підпису, тому перевантаження ніколи не може здійснюватися на основі типу повернення, і якщо це зроблено, це створює помилку часу компіляції.

Висновок

Перевантаження - одне з важливих понять на Java і може бути зроблено як для методів, так і для конструкторів. Існують деякі правила перевантаження, про які слід пам’ятати, перш ніж застосовувати це в програмуванні.

Рекомендовані статті

Це посібник із перевантаження на Java. Тут ми обговорюємо деякі певні правила перевантаження, які слід враховувати перед реалізацією важливих концепцій Java, методів та конструкторів. Ви також можете ознайомитись з іншими нашими пов’язаними статтями, щоб дізнатися більше -

  1. Перевантаження в C ++
  2. Інструменти розгортання Java
  3. Спадщина на Java
  4. Перевантаження в PHP
  5. Поліморфізм на Яві
  6. Спадщина в PHP