Przeciążanie metod w Javie [z przykładami]

Opublikowany: 2020-11-12

Java to wszechstronny język zgodny z koncepcjami programowania obiektowego. Wiele funkcji programowania obiektowego sprawia, że ​​kod jest modułowy, wielokrotnego użytku, elastyczny i łatwy do debugowania. Istnieje wiele funkcji programowania obiektowego, takich jak dziedziczenie, polimorfizm, enkapsulacja i abstrakcja.

W tym artykule omówimy przeciążanie metod w Javie , które jest rodzajem polimorfizmu.

Spis treści

Wielopostaciowość

Polimorfizm oznacza zdolność do pojawiania się w różnych formach. Pozwala tej samej metodzie pokazywać różne zachowania przy użyciu różnych metod. Istnieją dwa rodzaje polimorfizmu: przeciążanie metody i przeciążanie metody. Przeciążanie metod oznacza, że ​​wiele metod ma tę samą nazwę, ale różne argumenty.

Naucz się tworzyć aplikacje, takie jak Swiggy, Quora, IMDB i nie tylko

Method Overriding oznacza, że ​​klasa potomna może mieć metodę o tej samej nazwie co klasa nadrzędna, ale z inną implementacją. Bardziej szczegółowo omówimy przeciążanie metod w tym artykule. W przypadku zastępowania metody możesz odwiedzić upGrad i uzyskać wgląd.

Przeciążanie metod w Javie

Przeciążanie metod w Javie jest jedną z najbardziej użytecznych funkcji języka zorientowanego obiektowo. Pozwala klasie mieć wiele metod o tej samej nazwie. Jedyną różnicą, jaką mają te metody, jest inna lista parametrów, które są przekazywane przez te metody.

Można to zrozumieć w prosty sposób na prostym przykładzie. Dodanie klasy ma dwie metody o nazwie add(), jedna metoda ma parametry int a i int b, a druga ma trzy parametry całkowite, tj. int a, int b i int c. Dlatego mówi się, że metoda add() jest przeciążona.

Metoda, która zostanie wykonana, będzie zależeć od liczby parametrów przekazanych w instrukcji wywołującej metodę. Aby to zilustrować, add(20,30) wywoła metodę add() z dwoma parametrami, a add(10,20,30) wywoła metodę add z trzema parametrami.

Różne sposoby na przeciążenie metody

Przeciążanie metod w Javie można osiągnąć na różne sposoby. Jak zrozumieliśmy, jest to lista parametrów, które odróżniają dwie metody o tej samej nazwie w Javie. Różne sposoby przeciążania metod w Javie można uzyskać, zmieniając listę parametrów w jeden z poniższych sposobów:

  1. Liczba parametrów
  2. Typ danych parametrów
  3. Sekwencja parametrów typu danych

Liczba parametrów

Jak wynika z nazwy, w przeciążonych metodach będzie inna liczba parametrów, które zadecydują, którą metodę wykonać, widząc instrukcję wywołania metody. Poniżej znajduje się przeciążanie metod w Javie , gdzie liczba parametrów jest różna.

Metoda1: dodaj(int, int)

Metoda2: add(int, int, int)

Instrukcja wywołania metody add(20,30) wykona metodę1, a instrukcja wywołania metody add(10,20,30) wykona metodę2.

Typ danych parametrów

W tego typu przeciążaniu metod w Javie dwie metody java klasy mają tę samą nazwę, a liczba parametrów może być taka sama lub różna, ale typ danych parametrów będzie inny.

Metoda1: dodaj(int, int)

Metoda 2: add(int, float)

Metoda3: dodaj(float, float)

W powyższych metodach nazwa metody jest taka sama, ale typ danych parametrów jest inny. Tak więc instrukcja wywołująca metodę add(2, 5.5) wykona metodę2. Podobnie add(7.5, 10.25) wykona metodę3.

Sekwencja typu danych parametrów

W tego typu przeciążaniu metod w Javie zarówno nazwa metody, jak i liczba parametrów jest taka sama, ale różnica polega na kolejności typów danych tych parametrów. Poniżej przykład przeciążonych metod:

Method1: add(int, float)

Metoda 2: dodaj (liczba zmiennoprzecinkowa, int)

W tym przypadku wywołanie instrukcji add(100, 75.5) wywoła metodę1 do wykonania, a add(55.25, 150) wykona metodę2.

Dlatego to parametry w instrukcji wywołującej decydują, która przeciążona metoda zostanie wykonana.

Przeczytaj: Przeciążanie metod w Javie

Dlaczego potrzebujemy przeciążania metod w Javie?

Jeśli programista stworzył metodę w Javie do wykonania jakiejś akcji, ale później w ramach wymagania programista chce, aby ta sama metoda działała na różnych parametrach, to koder może po prostu skorzystać z funkcji przeciążania metod w Javie . Pozwoli to programiście stworzyć metody wykonywania podobnych funkcji o tej samej nazwie, aby później nie musiał ich zapamiętywać.

Poznajmy zalety wykonywania przeciążania metod w Javie.

Zalety wykonywania przeciążania metod w Javie

Poniżej znajdują się niektóre zalety przeciążania metod w Javie :

  • Poprawia czytelność napisanego kodu.
  • Dodaje czystości napisanemu kodowi.
  • Może być również używany na konstruktorach, dzięki czemu możemy tworzyć różne obiekty poprzez przekazywanie różnych danych.
  • Daje programistom elastyczność wywoływania różnych metod o podobnych nazwach.
  • Przeciążone metody mogą mieć różne typy zwrotów.

Koniecznie przeczytaj: Kariera w Javie

Zasady przeciążania metod w Javie

  • Pierwszą zasadą jest zmiana sygnatury metody. Sygnatura metody odnosi się do liczby argumentów, sekwencji parametrów i typu danych parametrów.
  • Jeśli zmienimy tylko typ zwracany metody, zachowując tę ​​samą nazwę i argumenty metody, to nie będzie to przeciążenie metody, ale spowoduje błąd kompilacji.

Ważne punkty dotyczące przeciążania metod w Javie

  • Żaden kod napisany w Javie nie może mieć metod o tej samej nazwie. Jeśli stworzymy 2 metody o tej samej nazwie w Javie, zgłosi to błąd kompilacji.
  • Można to osiągnąć poprzez przeciążenie metody. Przeciążanie metod umożliwia programistom pisanie dwóch lub więcej niż dwóch metod o tej samej nazwie, ale z różnymi listami parametrów.
  • Przeciążanie metod w Javie jest podobne do przeciążania konstruktorów. Jedyną różnicą jest to, że przeciążanie metod występuje dla metod zdefiniowanych w klasie, podczas gdy przeciążanie konstruktora dotyczy metod konstruktora klasy.
  • W przeciążaniu metod w Javie przeciążone metody mają inną listę parametrów. Nie ma to nic wspólnego z typem zwracanym metody. Jako przykład; jeśli dwie metody mają tę samą nazwę i tę samą listę parametrów, ale różne typy zwracane, to nie jest to przeciążanie metod w Javie , ale jest to nieprawidłowa wielkość liter.

Metoda 1 : int Dodaj (float, float)

Metoda 2 : pływak Dodaj (pływak, pływak)

Jest to nieprawidłowy przypadek przeciążenia metody, ponieważ obie metody Add() mają taką samą nazwę i tę samą listę parametrów.

Poniżej znajduje się kod wyjaśniający przeciążanie metod w Javie:

Suma zajęć{

prywatny int;

prywatne int b;

prywatne int c;

prywatne int d;

int public add(int a, int b){

int c;

c=a+b;

powrót c;

}

int public add(int a, float b){

int c;

c=a+b;

powrót c;

}

int public add(float a, float b){

int c;

c=a+b;

powrót c;

}

int public add(float a, int b, int c){

int d;

d=a+b+c;

powrót d;

}

}

Publiczny statyczny główny void (String[]args)

{

// Tworzenie obiektu klasy w metodzie głównej

sum obj1 = nowa suma();

sum1=obj1.add(10,20);

sum2=obj1.add(10,55,5);

sum3=obj1.add(110,5,25,5);

sum4=obj1.add(10,20,30);

}

Przeczytaj także: Programy wzorców w Javie

Wniosek

W tym artykule szczegółowo omówiono przeciążanie metod w Javie , wyjaśniając jego rodzaje, zasady i zalety. Temat został dogłębnie wyjaśniony na przykładach. Daj nam znać w komentarzach, jeśli masz jakiekolwiek wątpliwości dotyczące przeciążania w Javie.

Jeśli chcesz dowiedzieć się więcej na temat Java, pełnego stosu oprogramowania, sprawdź upGrad i IIIT-B's PG Diploma in Full-stack Software Development, który jest przeznaczony dla pracujących profesjonalistów i oferuje ponad 500 godzin rygorystycznych szkoleń, ponad 9 projektów i zadania, status absolwentów IIIT-B, praktyczne praktyczne projekty zwieńczenia i pomoc w pracy z najlepszymi firmami.

Wyląduj na swojej wymarzonej pracy

AKTUALIZACJA I DYPLOM PG IIIT-BANGALORE W ROZWOJU OPROGRAMOWANIA
Ucz się więcej