Wczesne wiązanie i późne wiązanie to dwa pojęcia związane z polimorfizmem. Wczesne wiązanie występuje w czasie kompilacji, natomiast późne wiązanie występuje w czasie wykonywania. The kluczowa różnica jest to między wczesnym a późnym wiązaniem Wczesne wiązanie używa informacji o klasie do rozstrzygania wywołań metod, podczas gdy późne wiązanie używa obiektu do rozpoznawania wywołań metod.
Języki programowania, takie jak Java, obsługują programowanie obiektowe (OOP). Jest to paradygmat, który umożliwia konstruowanie programu lub oprogramowania przy użyciu obiektów. Oprogramowanie zawiera wiele obiektów. Obiekty te są ze sobą połączone i przekazują wiadomości przy użyciu metod. Każdy obiekt ma cechy i zachowania. Charakterystyki są opisane przez właściwości lub atrybuty. Zachowania opisano za pomocą metod. Obiekt Student może mieć cechy takie jak imię i nazwisko, wiek i są reprezentowane przez właściwości. Obiekt Student może mieć takie zachowania, jak studiowanie i czytanie, i są reprezentowane metodami. Jednym z głównych filarów OOP jest polimorfizm. Pozwala obiektowi zachowywać się na wiele sposobów. Wczesne wiązanie i późne wiązanie to dwa pojęcia w polimorfizmie. Metody przeciążania są łączone za pomocą wczesnego wiązania. Zastąpione metody są łączone przy użyciu późnego wiązania.
1. Przegląd i kluczowa różnica
2. Co to jest wczesne wiązanie
3. Co to jest późne wiązanie
4. Podobieństwa między wczesnym a późnym wiązaniem
5. Porównanie obok siebie - wczesne i późne wiązanie w formie tabelarycznej
6. Podsumowanie
We wczesnym wiązaniu informacje o klasie są używane do rozwiązywania wywołań metod. Wczesne wiązanie występuje w czasie kompilacji. Jest również znany jako wiązanie statyczne. W tym procesie wiązanie następuje przed uruchomieniem programu. Metody przeciążania są łączone za pomocą wczesnego wiązania. Zobacz poniższy program.
Rysunek 01: Klasa obliczeniowa
Rysunek 02: Główny program wczesnego wiązania
Zgodnie z powyższym programem klasa Calculation zawiera metodę add, która akceptuje dwie wartości całkowite, oraz inną metodę add, która akceptuje dwie podwójne wartości. W programie głównym tworzony jest obiekt typu Obliczenie. Po przekazaniu dwóch liczb całkowitych do metody add, wywoła metodę add, która akceptuje dwie liczby całkowite. Przekazując dwie podwójne wartości do metody add, wywoła metodę odpowiadającą dwóm podwójnym wartościom. Ten proces wiązania występuje w czasie kompilacji. Wszystkie wymagane informacje są znane przed uruchomieniem, więc zwiększa wydajność programu i szybkość wykonywania.
W późnym wiązaniu obiekt służy do rozwiązywania wywołań metod. Późne wiązanie występuje w czasie wykonywania. Jest również znany jako wiązanie dynamiczne. W tym procesie powiązanie występuje podczas wykonywania programu. Zastąpione metody są łączone przy użyciu późnego wiązania. Zobacz poniższy program.
Rysunek 03: Klasa kształtu
Rysunek 04: Klasa koła
Rysunek 05: Klasa trójkątów
Rysunek 06: Główny program późnego wiązania
Zgodnie z powyższym programem klasa Shape ma metodę rysowania. Klasa Circle i klasa Triangle rozszerzają klasę Shape. Dlatego te dwie klasy mogą dziedziczyć atrybuty i metody klasy Shape. Klasa kształtu jest klasą podstawową. Klasy kół i trójkątów są klasami pochodnymi. Klasa Circle i Class Triangle mają również metodę rysowania z własnymi implementacjami. Tak więc metoda rysowania w klasie Shape jest zastępowana przez metody rysowania klas pochodnych.
W programie głównym tworzona jest zmienna referencyjna typu Shape. W czasie kompilacji kompilator będzie odwoływał się tylko do metody losowania klasy podstawowej. W czasie wykonywania zostaną uruchomione różne metody losowania. Najpierw s wskaże obiekt typu Shape. Tak więc wywoływana jest metoda losowania klasy Shape. Następnie s wskaże obiekt typu Circle i wywoła metodę rysowania klasy Circle. Na koniec s wskaże obiekt typu Triangle i wywoła metodę rysowania w klasie Triangle. Metody są wywoływane w zależności od obiektów. Dlatego obiekt służy do rozstrzygania wywołań metod w późnym wiązaniu. Informacje wymagane do wiązania są dostarczane w czasie wykonywania, więc szybkość wykonania jest wolniejsza w porównaniu do wczesnego wiązania.
Wczesne wiązanie vs późne wiązanie | |
Proces wykorzystywania informacji o klasie do rozwiązywania wywołań metod, który występuje w czasie kompilacji, nosi nazwę Early Binding. | Proces używania obiektu do rozwiązywania wywołań metod, który występuje w czasie wykonywania, nazywa się późnym wiązaniem. |
Czas wiązania | |
Wczesne wiązanie odbywa się w czasie kompilacji. | Późne wiązanie ma miejsce w czasie wykonywania. |
Funkcjonalność | |
Wczesne wiązanie wykorzystuje informacje o klasie w celu rozwiązania wywołania metody. | Późne wiązanie używa obiektu do rozwiązania wywołania metody. |
Synonimy | |
Wczesne wiązanie jest również znane jako wiązanie statyczne… | Późne wiązanie jest również znane jako wiązanie dynamiczne. |
Występowanie | |
Metody przeciążania są łączone za pomocą wczesnego wiązania. | Zastąpione metody są łączone przy użyciu późnego wiązania. |
Szybkość wykonania | |
Szybkość wykonania jest szybsza we wczesnym wiązaniu. | Szybkość wykonania jest niższa w późnym wiązaniu. |
OOP jest powszechnie używany do tworzenia oprogramowania. Jednym z głównych filarów OOP jest polimorfizm. Wczesne wiązanie i późne wiązanie są z tym związane. Wczesne wiązanie występuje w czasie kompilacji, natomiast późne wiązanie występuje w czasie wykonywania. W przypadku przeciążenia metody wiązanie odbywa się przy użyciu wczesnego wiązania. W zastępowaniu metody wiązanie odbywa się przy użyciu późnego wiązania. Różnica między Wczesnym a Późnym Powiązaniem polega na tym, że Wczesne Powiązanie używa informacji o klasie do rozstrzygania wywołań metod, podczas gdy Późne Powiązanie używa obiektu do rozwiązywania wywołań metod.
1.Wywiad Java 04 - Wiązanie statyczne vs. Wiązanie dynamiczne, Samouczki Mahika, 27 grudnia 2017 r. Dostępne tutaj
2).Dynamiczna metoda wysyłania w Javie | Podstawowy samouczek Java | Studytonight. Dostępny tutaj