Wprowadzenie do przesłonięcia w Javie

  • Java jest bardzo dobrze znanym językiem ogólnego przeznaczenia, zorientowanym obiektowo, opartym na klasach, a także prymitywnymi typami danych, o których wiadomo również, że zawierają kilka zależności związanych z implementacją, co sprawia, że ​​praca programistów aplikacji jest bardzo łatwa, ponieważ zapewnia im łatwość pisania raz i czytania w dowolnym miejscu. Przed wskoczeniem na koncepcję przesłonięcia w szczegółach należy dokładnie zapoznać się z koncepcją klasy nadrzędnej, a także klasy podrzędnej.
  • Klasa nadrzędna to nadklasa, tj. Klasa, która znajduje się na górze i ma unikalny zestaw indywidualnych cech i bytów, podczas gdy klasa potomna lub klasa podstawowa to klasa, która jest obecna na dolnym końcu klasy macierzystej i ma inną ale przypominający zestaw funkcji. Również przesłonięcie w Javie rozszerza się, aby uzyskać funkcje klasy nadrzędnej przez relację IS-A i dlatego jest określane jako dziedziczenie.
  • Jedną z takich cech tego języka programowania jest funkcja Przesłanianie, zgodnie z którą w dowolnym obiektowym języku programowania przesłonięcie staje się funkcją korzystającą z podklasy lub klasy potomnej w celu zapewnienia konkretnej implementacji metody programu, która jest już na miejscu przez jedną z klas nadrzędnych lub nadklas. Jeśli metoda podklasy ma tę samą nazwę, tę samą sygnaturę lub parametr i podobny typ zwracany lub podtyp, który jest używany jako metoda w nadklasie, wówczas metoda podklasy zastępuje metodę nadklasy.
  • Innymi słowy, jeśli klasa potomna, klasa podstawowa lub podklasa otrzymają tę samą nazwę metody, co metoda nadrzędna, wówczas w Javie jest to znane jako metoda zastępująca metodę. Lub, mówiąc lepiej, jeśli podklasa zapewnia implementacje metod, które zostały już zadeklarowane przez którąkolwiek z klas nadrzędnych, wówczas można również wiedzieć, że jest to metoda zastępująca metody w Javie.

Główne zastosowania zastępowania metod Java to:

  1. Służy do zapewnienia konkretnej implementacji metody, która została już zapewniona przez odpowiednią nadklasę.
  2. Koncepcja zastąpienia metody obejmuje również polimorfizm środowiska wykonawczego.

Jak działa przesłonięcie w Javie?

W przypadku zastąpienia metody za każdym razem, gdy jakakolwiek metoda w podklasie ma taką samą nazwę jak jej metoda nadrzędna, a wywołanie z środowiska wykonawczego jest generowane jako takie, że wskazuje na nazwę metody wspólną dla obu i jedna z nich wykonuje ma miejsce, gdy mówi się, że zastąpienie metody istnieje. Głównym wyzwaniem przy tej czynności jest użycie tej samej nazwy metody zarówno dla klasy nadrzędnej, jak i podrzędnej, aw czasie wykonywania wywołanie jest zapewniane w taki sposób, że musi odpowiadać klasie podrzędnej lub klasie nadrzędnej. Następnie kompilator języka decyduje o tym, biorąc pod uwagę liczbę parametrów, typy parametrów itp. Na podstawie których określa się nazwę funkcji, która ma zostać wywołana. Przeciążanie metod i zastępowanie metod były jednymi z kluczowych pojęć w dziedzinie rdzenia java i mają one znaczenie, ponieważ kompilator musi jasno określić, którą metodę wywołać.

Przykłady przesłonięcia w Javie

Ilekroć nazwa funkcji ma taką samą nazwę jak nazwa klasy nadrzędnej, można powiedzieć, że ta funkcja istnieje, szczególnie w mechanizmie wykonawczym. Oto prosty przykład, aby szczegółowo wyjaśnić tę koncepcję. Najpierw będziemy omawiać problem bez nadpisywania, a następnie dlaczego powstał.

Pierwszy przykład:

class MyVehicle(
void run()(
System.out.println("It's a running vehicle");)
)
class MyCar extends MyVehicle(
public static void main(String args())(
MyCar obj = new MyCar();
obj.run();
)
)

Wynik:

Wynik jest następujący: to pojazd w ruchu. Teraz musiałem podać konkretną implementację metody run (), która jest dostępna w podklasie, a zatem moglibyśmy skorzystać z funkcji przesłonięcia metody w przyszłości.

Drugi przykład:

class MyVehicle(
void run()(System.out.println("My vehicle is running");)
) class MyCar2 extends MyVehicle(
void run()(System.out.println("My car is running");)
public static void main(String args())(
MyCar2 obj = new MyCar2();
obj.run();
)
)

Wynik:

Mój samochód jest uruchomiony to wynik powyższego przykładu problemu.

Objaśnienie: Teraz, jeśli przyjrzysz się dokładnie temu, co wydarzyło się w obu przykładach, pierwszy przykład mówi o rozszerzeniu klasy potomnej o klasę nadrzędną, co ma miejsce również w drugim przypadku. Ale w tym przykładzie MyCar2 rozszerza MyVehicle i, zgodnie z definicją metody zastępującej decyzję, wywołanie jest podejmowane w czasie wykonywania, tj. W momencie wywołania metody run (). Po wywołaniu tej metody wywołanie najpierw trafiło do klasy potomnej lub podstawowej, ponieważ już rozszerzyło wszystkie właściwości klasy nadrzędnej i dlatego byłoby w pełni wystarczające. Następnie, gdy osiągnął sekcję klasy podstawowej i upewnił się, że dziedziczenie jest relacją IS-A wraz z rozszerzeniem słowa kluczowego, pomyślnie wydrukował wynik: Mój samochód jest uruchomiony.

Zasady zastępowania metod w Javie

  1. Nazwa metody powinna być taka sama zarówno dla rodziców, jak i klasy dziecka.
  2. Parametr klasy podstawowej powinien być taki sam jak w klasie nadrzędnej.
  3. Relacja musi być relacją IS-A między klasą podrzędną, a klasą nadrzędną.

Wniosek

Java była bardzo starym językiem programowania i dziś jest prawie używana w każdej dziedzinie technologii. Dlatego należy być bardzo świadomym rodzajów i koncepcji używanych w tym niezawodnym języku programowania. Język Java jest zazwyczaj podzielony na dwa segmenty, tj. Core Java i Advanced Java. Koncepcja zastępowania metod stanowi część Core Java, w której wykorzystuje się funkcje technik programowania obiektowego, takich jak Dziedziczenie. To bardzo ważny temat, który powinieneś zdecydowanie zrozumieć szczegółowo, jeśli chcesz pracować w tym języku. Mam nadzieję, że podoba Ci się nasz artykuł. Zostań z nami, aby uzyskać więcej takich artykułów.

Polecane artykuły

Jest to przewodnik po zastępowaniu w Javie. Tutaj omawiamy Wprowadzenie do przesłonięcia w Javie, Rodzaje przesłonięcia w Javie i Zasady przesłonięcia reguł w Javie. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -

  1. Obiekty JavaScript
  2. Metody tablic w JavaScript
  3. Adnotacje Java
  4. Przesłanianie w OOP
  5. Przeciążenie Pythona