Dallimi kryesor – Lidhja e hershme kundrejt vonesës
Lidhja e hershme dhe lidhja e vonë janë dy koncepte që lidhen me polimorfizmin. Lidhja e hershme ndodh në kohën e përpilimit ndërsa Lidhja e vonë ndodh në kohën e ekzekutimit. Dallimi kryesor midis lidhjes së hershme dhe të vonë është se Lidhja e hershme përdor informacionin e klasës për të zgjidhur thirrjen e metodës ndërsa Lidhja e vonë përdor objektin për të zgjidhur thirrjen e metodës.
Gjuhët e programimit si Java mbështet programimin e orientuar në objekt (OOP). Është një paradigmë që lejon ndërtimin e programit ose softuerit duke përdorur objekte. Ka shumë objekte në softuer. Këto objekte janë të lidhura me njëri-tjetrin dhe kalojnë mesazhe duke përdorur metoda. Çdo objekt ka karakteristika dhe sjellje. Karakteristikat përshkruhen nga vetitë ose atributet. Sjelljet përshkruhen duke përdorur metoda. Objekti Nxënësi mund të ketë karakteristika si emri, mosha dhe ato përfaqësohen nga vetitë. Objekti Nxënësi mund të ketë sjellje të tilla si studimi dhe leximi dhe ato përfaqësohen me metoda. Një shtyllë kryesore e OOP është polimorfizmi. Ai lejon që një objekt të sillet në mënyra të shumta. Lidhja e hershme dhe lidhja e vonë janë dy koncepte në polimorfizëm. Metodat e mbingarkesës lidhen duke përdorur lidhjen e hershme. Metodat e anashkaluara lidhen duke përdorur lidhjen e vonë.
Çfarë është Lidhja e Hershme?
Në lidhjen e hershme, informacioni i klasës përdoret për të zgjidhur thirrjen e metodës. Lidhja e hershme ndodh në kohën e përpilimit. Njihet gjithashtu si lidhja statike. Në këtë proces, lidhja ndodh përpara se programi të ekzekutohet. Metodat e mbingarkesës lidhen duke përdorur lidhjen e hershme. Referojuni programit të mëposhtëm.
Figura 01: Klasa e llogaritjes
Figura 02: Programi kryesor për lidhjen e hershme
Sipas programit të mësipërm, klasa Calculation përmban një metodë add që pranon dy vlera të plota dhe një metodë tjetër add që pranon dy vlera të dyfishta. Në programin kryesor krijohet një objekt i tipit Calculation. Kur kalon dy numra të plotë në metodën e shtimit, ajo do të thërrasë metodën e shtimit që pranon dy numra të plotë. Kur kalon dy vlera të dyfishta në metodën e shtimit, ajo do të thërrasë metodën që korrespondon me dy vlera të dyfishta. Ky proces i lidhjes ndodh në kohën e kompilimit. I gjithë informacioni i kërkuar dihet përpara kohës së ekzekutimit, kështu që rrit efikasitetin e programit dhe shpejtësinë e ekzekutimit.
Çfarë është Lidhja e Vonë?
Në lidhjen e vonshme, objekti përdoret për të zgjidhur thirrjen e metodës. Lidhja e vonshme ndodh në kohën e ekzekutimit. Njihet gjithashtu si lidhja dinamike. Në këtë proces, lidhja ndodh në ekzekutimin e programit. Metodat e anashkaluara lidhen duke përdorur lidhjen e vonë. Referojuni programit të mëposhtëm.
Figura 03: Klasa e formës
Figura 04: Klasa e rrethit
Figura 05: Klasa e trekëndëshit
Figura 06: Programi kryesor për Lidhjen e Vonë
Sipas programit të mësipërm, klasa Shape ka një metodë tërheqjeje. Klasa Rrethi dhe klasa e klasës Triangle zgjerojnë klasën Shape. Prandaj, këto dy klasa mund të trashëgojnë atributet dhe metodat e klasës Shape. Klasa e formës është klasa bazë. Klasat e rrethit dhe trekëndëshit janë klasa të prejardhura. Klasa Rrethi dhe klasa Triangle kanë gjithashtu metodën e tërheqjes me implementimet e tyre. Pra, metoda e tërheqjes në klasën Shape anashkalohet nga metodat e tërheqjes së klasave të derivuara.
Në programin kryesor krijohet një variabël referimi s i tipit Shape. Në kohën e përpilimit, përpiluesi do të referojë vetëm metodën e tërheqjes së klasës bazë. Në kohën e ekzekutimit, do të ekzekutohen metoda të ndryshme të tërheqjes. Së pari, s do të tregojë objektin e tipit Shape. Pra, thirret metoda e tërheqjes së klasës Shape. Pastaj s do të tregojë objektin e tipit Circle, dhe do të thërrasë metodën e tërheqjes së klasës Circle. Së fundi, s do të tregojë objektin e tipit Triangle dhe do të thërrasë metodën e tërheqjes në klasën Triangle. Metodat thirren në varësi të objekteve. Prandaj, objekti përdoret për të zgjidhur metodën e thirrjes në lidhjen e vonë. Informacioni i kërkuar për lidhjen jepet në kohën e ekzekutimit, kështu që shpejtësia e ekzekutimit është më e ngad altë në krahasim me lidhjen e hershme.
Cila është ngjashmëria midis lidhjes së hershme dhe lidhjes së vonë?
Lidhja e hershme dhe lidhja e vonë janë të lidhura me polimorfizmin që është një shtyllë e OOP
Cili është ndryshimi midis lidhjes së hershme dhe lidhjes së vonë?
Lidhja e hershme vs Lidhja e vonë |
|
Procesi i përdorimit të informacionit të klasës për të zgjidhur thirrjen e metodës që ndodh në kohën e përpilimit quhet Lidhja e hershme. | Procesi i përdorimit të objektit për të zgjidhur thirrjen e metodës që ndodh në kohën e ekzekutimit quhet Lidhja e Vonë. |
Koha e lidhjes | |
Lidhja e hershme ndodh në kohën e përpilimit. | Lidhja e vonshme ndodh në kohën e ekzekutimit. |
Funksionalitet | |
Lidhja e hershme përdor informacionin e klasës për të zgjidhur thirrjen e metodës. | Lidhja e vonuar përdor objektin për të zgjidhur thirrjen e metodës. |
Sinonime | |
Lidhja e hershme njihet gjithashtu si lidhja statike.. | Lidhja e vonshme njihet gjithashtu si lidhja dinamike. |
Ndodhi | |
Metodat e mbingarkimit janë të lidhura duke përdorur lidhjen e hershme. | Metodat e anashkaluara lidhen duke përdorur lidhjen e vonë. |
Shpejtësia e Ekzekutimit | |
Shpejtësia e ekzekutimit është më e shpejtë në lidhjen e hershme. | Shpejtësia e ekzekutimit është më e ulët në lidhjen e vonë. |
Përmbledhje – Lidhja e hershme kundër vonë
OOP përdoret zakonisht për zhvillimin e softuerit. Një shtyllë kryesore e OOP është polimorfizmi. Lidhja e hershme dhe lidhja e vonë janë të lidhura me këtë. Lidhja e hershme ndodh në kohën e përpilimit ndërsa Lidhja e vonë ndodh në kohën e ekzekutimit. Në mbingarkimin e metodës, lidhja ndodh duke përdorur lidhjen e hershme. Në tejkalimin e metodës, lidhja ndodh duke përdorur lidhjen e vonë. Dallimi midis lidhjes së hershme dhe të vonë është se Lidhja e hershme përdor informacionin e klasës për të zgjidhur thirrjen e metodës ndërsa Lidhja e vonë përdor objektin për të zgjidhur thirrjen e metodës.