Введение в перегрузку в Java

Java является объектно-ориентированным языком программирования и следует базовым концепциям ООП. Перегрузка является одной из важных концепций в 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). Аналогично для других методов объема на основе количества аргументов вызываются и обрабатываются разные методы.

В этом примере методы перегружены на основе количества аргументов, но они также могут быть перегружены на основе типа данных параметров и последовательности параметров и, следовательно, вызываются только в соответствии с этим.

Типы перегрузки в 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. Последовательность параметров

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

Код:

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), т.е. пустые детали (String name, char rank).

Правила перегрузки в Java

Ниже приведены правила, которые следует помнить при перегрузке Java:

  • Первое и главное правило перегрузки методов заключается в том, что методы должны иметь одинаковое имя в одном классе.
  • Два или более методов в классе могут быть перегружены на основе разных сигнатур, и сигнатура включает в себя количество параметров, типы данных параметров, последовательность параметров, как описано выше.
  • Возвращаемый тип метода не является частью сигнатуры, поэтому перегрузка никогда не может быть выполнена на основе возвращаемого типа, и если это сделано, это создает ошибку во время компиляции.

Вывод

Перегрузка является одной из важных концепций в Java и может выполняться как для методов, так и для конструкторов. Есть некоторые правила перегрузки, которые следует иметь в виду, прежде чем применять их в программировании.

Рекомендуемые статьи

Это руководство по перегрузке в Java. Здесь мы обсудим некоторые определенные правила для перегрузки, которые должны быть рассмотрены до реализации важных концепций в Java, методов и конструкторов. Вы также можете просмотреть другие наши статьи, чтобы узнать больше -

  1. Перегрузка в C ++
  2. Инструменты развертывания Java
  3. Наследование в Java
  4. Перегрузка в PHP
  5. Полиморфизм в Яве
  6. Наследование в PHP