Rozdíl Mezi časnou A Pozdní Vazbou

Obsah:

Rozdíl Mezi časnou A Pozdní Vazbou
Rozdíl Mezi časnou A Pozdní Vazbou

Video: Rozdíl Mezi časnou A Pozdní Vazbou

Video: Rozdíl Mezi časnou A Pozdní Vazbou
Video: Феромоны 2024, Listopad
Anonim

Klíčový rozdíl - Early vs Late Binding

Včasná vazba a pozdní vazba jsou dva pojmy související s polymorfismem. K včasné vazbě dochází v době kompilace, zatímco k pozdní vazbě dochází za běhu. Klíčový rozdíl mezi Early a Late Binding spočívá v tom, že Early Binding používá k vyřešení volání metody informace o třídě, zatímco Late Binding používá k vyřešení volání metody objekt.

Programovací jazyky, jako je Java, podporují objektově orientované programování (OOP). Jedná se o paradigma, které umožňuje konstrukci programu nebo softwaru pomocí objektů. V softwaru je více objektů. Tyto objekty jsou navzájem propojeny a předávají zprávy pomocí metod. Každý objekt má vlastnosti a chování. Vlastnosti jsou popsány vlastnostmi nebo atributy. Chování je popsáno pomocí metod. Objekt Student může mít vlastnosti jako jméno, věk a jsou reprezentovány vlastnostmi. Objekt Student může mít chování, jako je studium a čtení, a jsou reprezentovány metodami. Jedním z hlavních pilířů OOP je polymorfismus. Umožňuje objektu chovat se několika způsoby. Včasná vazba a pozdní vazba jsou dva pojmy v polymorfismu. Metody přetížení jsou spojeny pomocí časné vazby. Přepsané metody jsou spojeny pomocí pozdní vazby.

OBSAH

1. Přehled a klíčový rozdíl

2. Co je časná vazba

3. Co je pozdní vazba

4. Podobnosti mezi časnou a pozdní vazbou

5. Porovnání vedle sebe - časná vs. pozdní vazba v tabulkové formě

6. Shrnutí

Co je to Early Binding?

V Early Binding se informace o třídě používají k vyřešení volání metody. K včasné vazbě dochází v době kompilace. Je také známá jako statická vazba. V tomto procesu dojde k vazbě před spuštěním programu. Metody přetížení jsou spojeny pomocí časné vazby. Viz níže uvedený program.

Rozdíl mezi časnou a pozdní vazbou
Rozdíl mezi časnou a pozdní vazbou

Obrázek 01: Třída výpočtu

Rozdíl mezi časnou a pozdní vazbou Obrázek 02
Rozdíl mezi časnou a pozdní vazbou Obrázek 02

Obrázek 02: Hlavní program včasné vazby

Podle výše uvedeného programu obsahuje třída Výpočet metodu přidání, která přijímá dvě celočíselné hodnoty a další metodu přidání, která přijímá dvě dvojité hodnoty. V hlavním programu je vytvořen objekt typu Výpočet. Při předávání dvou celých čísel do metody add vyvolá metodu add, která přijímá dvě celá čísla. Při předávání dvou dvojitých hodnot metodě add vyvolá metodu odpovídající dvěma dvojitým hodnotám. K tomuto procesu vazby dochází v době kompilace. Všechny požadované informace jsou známy před spuštěním, takže zvyšuje efektivitu programu a rychlost jeho provádění.

Co je pozdní vazba?

V pozdní vazbě se objekt používá k vyřešení volání metody. Pozdní vazba nastává za běhu. Je také známý jako dynamická vazba. V tomto procesu dojde k vazbě při spuštění programu. Přepsané metody jsou spojeny pomocí pozdní vazby. Viz níže uvedený program.

Rozdíl mezi časnou a pozdní vazbou Obrázek 03
Rozdíl mezi časnou a pozdní vazbou Obrázek 03

Obrázek 03: Třída tvaru

Rozdíl mezi časnou a pozdní vazbou Obrázek 04
Rozdíl mezi časnou a pozdní vazbou Obrázek 04

Obrázek 04: Třída kruhu

Rozdíl mezi časnou a pozdní vazbou Obrázek 05
Rozdíl mezi časnou a pozdní vazbou Obrázek 05

Obrázek 05: Tříúhelníková třída

Klíčový rozdíl mezi včasnou a pozdní vazbou
Klíčový rozdíl mezi včasnou a pozdní vazbou

Obrázek 06: Hlavní program pro pozdní vazbu

Podle výše uvedeného programu má třída Shape metodu kreslení. Třída Kruh a třída Trojúhelník rozšiřuje třídu Tvar. Proto tyto dvě třídy mohou zdědit atributy a metody třídy Shape. Tvarová třída je základní třída. Třídy Circle a Triangle jsou odvozené třídy. Třída Circle a třída Triangle mají také metodu kreslení s vlastní implementací. Metoda draw ve třídě Shape je tedy přepsána metodami draw odvozených tříd.

V hlavním programu je vytvořena referenční proměnná typu Shape. V době kompilace bude kompilátor odkazovat pouze na metodu kreslení základní třídy. Za běhu se provedou různé metody kreslení. Nejprve s bude ukazovat na objekt typu Shape. Je tedy vyvolána metoda kreslení třídy Shape. Potom s bude ukazovat na objekt typu Circle a vyvolá metodu draw třídy Circle. Nakonec s ukáže na objekt typu Triangle a vyvolá metodu draw ve třídě Triangle. Metody jsou volány v závislosti na objektech. Proto se objekt používá k vyřešení volání metody v Late Binding. Informace potřebné pro vazbu jsou poskytovány za běhu, takže rychlost provádění je pomalejší ve srovnání s počáteční vazbou.

Jaká je podobnost mezi časnou vazbou a pozdní vazbou?

Early Binding i Late Binding souvisí s polymorfismem, který je pilířem OOP

Jaký je rozdíl mezi včasnou vazbou a pozdní vazbou?

Rozdílný článek uprostřed před tabulkou

Early Binding vs Late Binding

Proces používání informací o třídě k vyřešení volání metody, ke kterému dochází v době kompilace, se nazývá Early Binding. Proces použití objektu k vyřešení volání metody, ke kterému dochází za běhu, se nazývá Pozdní vazba.
Čas vazby
Early Binding se děje v době kompilace. Pozdní vazba se děje za běhu.
Funkčnost
Early Binding používá informace o třídě k vyřešení volání metody. Pozdní vazba používá objekt k vyřešení volání metody.
Synonyma
Včasná vazba je také známá jako statická vazba. Pozdní vazba je také známá jako dynamická vazba.
Výskyt
Metody přetížení jsou spojeny pomocí časné vazby. Přepsané metody jsou spojeny pomocí pozdní vazby.
Rychlost provedení
Rychlost spuštění je při včasné vazbě rychlejší. Rychlost provedení je při pozdní vazbě nižší.

Shrnutí - Early vs Late Binding

OOP se běžně používá pro vývoj softwaru. Jedním z hlavních pilířů OOP je polymorfismus. S tím souvisí časná vazba a pozdní vazba. K včasné vazbě dochází v době kompilace, zatímco k pozdní vazbě dochází za běhu. Při přetížení metody dochází k propojení pomocí časné vazby. V přepsání metody dojde k propojení pomocí pozdní vazby. Rozdíl mezi časnou a pozdní vazbou spočívá v tom, že včasná vazba používá informace třídy k vyřešení volání metody, zatímco pozdní vazba používá objekt k vyřešení volání metody.

Doporučená: