Ero staattisen ja dynaamisen sitomisen välillä

Avainero - staattinen Sidonta vs. dynaaminen sitominen
 

Ohjelmointikielet, kuten Java ja C #, tukevat objektiohjattua ohjelmointia (OOP). Se mahdollistaa ohjelmistojen rakentamisen objektien avulla. Ohjelmistojärjestelmässä tai ohjelmassa on monia esineitä. Näillä objekteilla on määritteet ja menetelmät. Ominaisuudet kuvaavat ominaisuuksia. Menetelmät kuvaavat toimia, jotka objekti voi suorittaa. Tiedot välitetään objektien läpi menetelmiä käyttämällä. Vaaditut arvot lähetetään parametrien mukaisten menetelmäkutsujen kautta. Menetelmän todellinen toteutus on menetelmän määritelmässä. Menetelmäkutsu ja menetelmämäärittely ovat välillä. Se tunnetaan sitovana. Sidoksia on kahta tyyppiä. Ne ovat staattista ja dynaamista sitoutumista. avainero staattisen sitoutumisen ja dynaamisen sitoutumisen välillä on se, staattisessa sitomisessa sitominen ratkaistaan ​​kokoamisajankohtana, kun taas dynaaminen sidonta ratkaistaan ​​ajoaikana, joka on todellinen suoritusaika. Tässä artikkelissa tarkastellaan eroa näiden kahden sitovan mekanismin välillä.

SISÄLLYS

1. Yleiskatsaus ja keskeiset erot
2. Mikä on staattinen sitominen
3. Mikä on dynaaminen sidonta
4. Staattisen ja dynaamisen sitoutumisen väliset yhtäläisyydet
5. Vertailu rinnakkain - staattinen sidonta vs. dynaaminen sitoutuminen taulukkomuodossa
6. Yhteenveto

Mikä on staattinen sitominen?

Sidonta on linkki menetelmäsoiton ja menetelmämääritysten välillä.

Kuva 01: Staattinen sidonta ja dynaaminen sidonta

Katso alla oleva Java-kirjoitettu ohjelma.

julkinen luokka A

public void method1 ()

System.out.println ( ”telmällä1”);

public void method2 ()

System.out.println ( ”menetelmä2”);

julkinen staattinen void main (merkkijono [] args)

A obj = uusi A ();

obj.method1 ();

obj.method2 ();

Edellä olevan ohjelman mukaan luodaan tyypin A objekti. Sitten kutsutaan menetelmä1 ja menetelmä2. Sen tunnistaminen, joka menetelmä vaatii suorituksen, tunnetaan sitovana. Lause obj.method1 () kutsuu menetelmää1 () ja obj.method2 () kutsuu menetelmää2 (). Tämä linkki on sitova.

Staattisessa sitomisessa kääntäjä ratkaisee sitoutumisen käännöshetkellä. Se tunnetaan myös nimellä varhainen sidonta. Sidonta tapahtuu ennen kuin ohjelma todella suoritetaan. Staattinen sitoutuminen tapahtuu menetelmän ylikuormituksessa. Katso alla oleva Java-kirjoitettu ohjelma.

julkisen mitätön laskenta

julkinen mitätön summa (int x, int y)

System.out.println (“Sum on”, x + y);

julkinen tyhjä summa (kaksinkertainen x, kaksinkertainen y)

System.out.println (“Sum on”, x + y);

julkinen staattinen void main (merkkijono [] args)

Laskenta cal = uusi laskelma ();

cal.sum (2,3);

kalsium (5,1, 6,4);

Yllä olevan ohjelman mukaan, kun ohitetaan kaksi kokonaislukua, otetaan käyttöön menetelmä kahdella kokonaisluvulla. Kun ohitetaan kaksi kaksoisarvoa, otetaan käyttöön kahta kaksoisarvoa vastaava menetelmä. Tämä sitomisprosessi tapahtuu kokoamishetkellä. Kääntäjä tietää, että sen tulisi kutsua summamenetelmää kahdella kokonaislukuarvolla cal.sum (2,3). Calille (5.1,6.4) se kutsuu summamenetelmää kahdella kaksoisarvolla. Kaikki vaaditut tiedot tiedetään ennen suoritusta, joten se lisää ohjelman tehokkuutta ja suoritusnopeutta.

Mikä on dynaaminen sidonta?

Dynaamisessa sidoksessa kääntäjä ei ratkaise sidosta käännöshetkellä. Sitoutuminen tapahtuu juoksuaikana. Se tunnetaan myös nimellä myöhäinen sidonta. Dynaaminen sitoutuminen tapahtuu menetelmän ohittamisessa. Katso Java-kirjoitettu ohjelma.

julkisen luokan muoto ()

public void draw ()

System.out.println (“Piirrä muoto”);

julkisen luokan Circle () laajentaa muotoa

public void draw ()

System.out.println (“Piirrä ympyrä”);

julkisen luokan kolmio () laajentaa muotoa

public void draw ()

System.out.println (“Piirrä kolmio”);

julkisen luokan testi

julkinen staattinen void main (merkkijono [] args)

Muodot;

s = uusi muoto ();

s.draw ();

s = uusi ympyrä ();

s.draw ();

s = uusi kolmio ();

s.draw ();

Yllä olevan ohjelman mukaan luokan muodolla on menetelmäpiirtäjä (). Luokan ympyrä ja luokan kolmio laajentavat muotoa. Luokan ympyrä ja luokan kolmio voivat periä luokan muodon ominaisuudet ja menetelmät. Siksi luokan muoto on superluokka tai yläluokka. Luokan ympyrä ja luokan kolmio ovat alaluokkia tai johdettuja luokkia. Näillä luokilla on myös piirtomenetelmä () omilla toteutuksillaan. Siksi superluokan Draw () -menetelmä ohitetaan.

Päämenetelmässä eri kohteita kutsutaan. On muotomuotoinen vertailumuuttuja, joka on s. Sitten s kutsuu menetelmän tietyn luokan mukaan. Kääntämisaikana kääntäjä viittaa vain superluokan piirtomenetelmään. Kun varsinainen suorittaminen alkaa, se johtaa erilaisten piirtomenetelmien suorittamiseen. Ensinnäkin s osoittaa tyypin muoto Shape. Siksi se vetoaa piirtomenetelmään Shape-luokassa. Sitten s osoittaa Circle-tyypin objektia, ja se vetoaa Circle-luokan piirtomenetelmään. Lopuksi s viittaa kolmiotyypin objektiin, ja se vetoaa piirtomenetelmään kolmioluokassa. Vaikka referenssimuuttuja on tyypin Shape, sitominen tapahtuu riippuen objektityypistä. Tämä käsite tunnetaan nimellä dynaaminen sidonta. Tiedot toimitetaan ajoaikana, joten suoritusnopeus on hitaampi verrattuna staattiseen sitomiseen.

Mikä on staattisen ja dynaamisen sitomisen samankaltaisuus?

  • Nämä molemmat liittyvät polymorfismiin, joka antaa kohteen käyttäytyä monin tavoin.

Mikä on ero staattisen ja dynaamisen sitomisen välillä?

Staattinen sitominen vs dynaaminen sitominen

Staattinen sitominen on sidostyyppi, joka kerää kaikki tarvittavat tiedot toiminnon kutsumiseksi kokoamisaikana. Dynaaminen sidonta on sidostyyppi, joka kerää kaikki tarvittavat tiedot toiminnon kutsumiseksi ajon aikana.
 Sitoutumisaika
Staattinen sidonta tapahtuu käännöshetkellä. Dynaaminen sidonta tapahtuu ajon aikana.
toiminnallisuus
Staattinen sidonta käyttää tyyppitietoja sitomiseen. Dynaaminen sidonta käyttää objekteja ratkaistakseen sitomiseksi.
 Todellinen kohde
Staattinen sidonta ei käytä todellista objektia sidontaan. Dynaaminen sidonta, käytä todellista objektia sidontaan.
synonyymit
Staattinen sitoutuminen tunnetaan myös varhaisena sitoutumisena. Dynaaminen sitoutuminen tunnetaan myös myöhäisenä sitoutumisena.
suoritus
Suoritusnopeus on nopea staattisessa sidonnassa. Suoritusnopeus on alhainen dynaamisessa sidonnassa.
esimerkki
Staattista sidosta käytetään menetelmän ylikuormituksessa. Dynaamista sitomista käytetään menetelmän ohittamisessa.

Yhteenveto - staattinen Sidonta vs. dynaaminen sitominen 

Menetelmäkutsu ja menetelmämäärittely ovat välillä. Se tunnetaan sitovana. Sidoksia on kahta tyyppiä, joita kutsutaan staattiseksi ja dynaamiseksi sitomiseksi. Ero staattisen sitoutumisen ja dynaamisen sitomisen välillä on se, että staattisessa sitomisessa sitoutuminen ratkaistaan ​​kokoamisajankohtana, kun taas dynaaminen sitominen ratkaistaan ​​ajoaikana, joka on todellinen suoritusaika. Koska vaadittavat tiedot toimitetaan ennen ajoaikaa, staattinen sidonta on nopea suorittaa verrattuna dynaamiseen sitomiseen.

Lataa PDF staattisesta sitomisesta vs. dynaamisesta sitomisesta

Voit ladata tämän artikkelin PDF-version ja käyttää sitä offline-tarkoituksiin lainauksen yhteydessä. Lataa PDF-versio täältä: Ero staattisen ja dynaamisen sidonnan välillä

Viite:

1.Java-haastattelu 04 - Staattinen sidonta vs. dynaaminen sidonta, Mahika-oppaat, 27. joulukuuta 2017. Saatavilla täältä