Przeciążanie metod
Część sekcji Podstawy ścieżki Java w Coddy. Lekcja 54 z 73.
W Javie przeciążanie metod pozwala definiować wiele metod o tej samej nazwie, ale z różnymi parametrami. Oznacza to, że możesz mieć kilka metod, które wykonują podobną funkcję, ale działają na różnych typach danych lub różnej liczbie argumentów.
Kluczowe jest to, że każda przeciążona metoda musi mieć unikalną sygnaturę. Sygnaturę metody określa jej nazwa oraz typ i kolejność jej parametrów.
Oto najważniejsze zasady przeciążania metod:
- Ta sama nazwa: Wszystkie przeciążone metody muszą mieć tę samą nazwę.
- Różne parametry: Każda wersja metody musi mieć inną liczbę parametrów, inne typy parametrów lub oba te elementy.
- Typ zwracany to za mało: przeciążone metody nie mogą różnić się wyłącznie typem zwracanym. Muszą mieć różne listy parametrów.
Oto przykład ilustrujący przeciążanie metod:
public class MathUtils {
public static int add(int a, int b) {
return a + b;
}
public static double add(double a, double b) {
return a + b;
}
public static int add(int a, int b, int c) {
return a + b + c;
}
}W tym przykładzie mamy trzy metody o nazwie add. Pierwsza dodaje dwie liczby całkowite, druga dodaje dwie liczby typu double, a trzecia dodaje trzy liczby całkowite.
Java określa, którą metodę wywołać, na podstawie argumentów przekazanych podczas jej wywołania.
Przeciążanie metod sprawia, że kod jest bardziej czytelny i można go ponownie wykorzystać. Zamiast tworzyć różne nazwy dla metod wykonujących podobne zadania (np. addInts, addDoubles, addThreeInts), możesz użyć jednej nazwy, add, a kompilator wybierze odpowiednią metodę na podstawie kontekstu.
Pamiętaj: przeciążanie wymaga różnych typów lub liczby parametrów, a nie tylko różnych nazw parametrów lub typów zwracanych.
Spróbuj swoich sił
Ta lekcja nie zawiera wyzwania z kodem.
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory część 1
Operatory arytmetyczneOperator moduloInkrementacja/dekrementacjaPostinkrementacja/postdekrementacjaSkrócone operatory arytmetyczneOperatory porównaniaPorównywanie ciągów znaków7Podstawowe wejście i wyjście
Metody System.outFormatowanie wyjściaKlasa ScannerPowtórka – do 120Powtórka – prawda czy fałsz10Metody (funkcje)
Deklarowanie metodParametry metodTypy zwracanePrzeciążanie metodPowtórzenie – funkcja SigmaPowtórzenie – funkcja walidującaMetody void13Operacje na ciągach znaków
Metody ciągów znaków — część 1Metody ciągów znaków — część 2Formatowanie ciągów znakówPorównywanie ciągów znaków5Operatory — część 2
Operatory logiczne — część 1Operatory logiczne — część 2Powtórka — podstawy logikiOperatory logiczne — część 3Operatory logiczne — część 43Zmienne — część 2
StałeKonwencje nazewnictwaPodsumowanie — inicjalizacja zmiennychKonwersja typów — część 1Konwersja typów — część 26Podejmowanie decyzji
Instrukcja ifIf - elseInstrukcja switchOperator trójargumentowyPowtórka: if - elseZagnieżdżone if - elsePoćwicz samodzielnie: Kompilator Java online