Staattisen Ja Dynaamisen Sidonnan Ero

Sisällysluettelo:

Staattisen Ja Dynaamisen Sidonnan Ero
Staattisen Ja Dynaamisen Sidonnan Ero

Video: Staattisen Ja Dynaamisen Sidonnan Ero

Video: Staattisen Ja Dynaamisen Sidonnan Ero
Video: Dynaaminen vs. Staattinen venyttely - Pitää paikallaan vai jatkuva liike? 2024, Marraskuu
Anonim

Keskeinen ero - staattinen sitova vs. dynaaminen sidonta

Ohjelmointikielet, kuten Java ja C #, tukevat olioohjattua ohjelmointia (OOP). Sen avulla voidaan rakentaa ohjelmistoja esineiden avulla. Ohjelmistojärjestelmässä tai ohjelmassa on monia esineitä. Näillä objekteilla on määritteet ja menetelmät. Attribuutit kuvaavat ominaisuuksia. Menetelmät kuvaavat toimintoja, jotka objekti voi suorittaa. Tiedot välitetään objektien läpi menetelmillä. Vaaditut arvot lähetetään menetelmäkutsujen kautta parametreilla. Menetelmän varsinainen toteutus on menetelmän määrittelyssä. Menetelmän kutsun ja menetelmän määrittelyn välillä on yhteys. Se tunnetaan sitovana. Sidoksia on kahdenlaisia. Ne ovat staattista ja dynaamista. Keskeinen ero staattisen sitoutumisen ja dynaamisen sitoutumisen välillä on se, että staattisessa sitoutumisessa sitoutuminen ratkaistaan kääntöhetkellä, kun taas dynaaminen sitoutuminen ratkaistaan ajon aikana,mikä on todellinen toteutusaika. Tässä artikkelissa käsitellään näiden kahden sitoutumismekanismin välistä eroa.

SISÄLLYS

1. Yleiskatsaus ja keskeinen ero

2. Mikä on staattinen sidonta

3. Mikä on dynaaminen sidonta

4. Staattisen ja dynaamisen sidonnan yhtäläisyydet

5. Vertailu rinnakkain - Staattinen sidonta vs dynaaminen sidonta taulukkomuodossa

6. Yhteenveto

Mikä on staattinen sidonta?

Sidonta on linkki menetelmän kutsun ja menetelmän määrittelyjen välillä.

Staattisen ja dynaamisen sidonnan ero
Staattisen ja dynaamisen sidonnan ero

Kuva 01: Staattinen ja dynaaminen sidonta

Katso alla olevaa Java-ohjelmaa.

julkinen luokka A {

public void -menetelmä1 () {

System.out.println ("Menetelmä1");

}

public void -menetelmä2 () {

System.out.println ("Menetelmä2");

}

public staattinen void main (String argumentoi) {

A obj = uusi A ();

obj.metodi1 ();

obj. menetelmä2 ();

}

}

Yllä olevan ohjelman mukaan luodaan tyypin A objekti. Sitten kutsutaan menetelmä1 ja menetelmä2. Sen määrittäminen, minkä menetelmän tulisi kutsua suoritusta, tunnetaan sitovana. Lauseke obj.method1 () kutsuu method1 () ja obj.method2 () kutsuu method2 (). Tämä linkki on sitova.

Staattisessa sidonnassa kääntäjä ratkaisee sidonnan kääntöhetkellä. Se tunnetaan myös varhaisena sitoutumisena. Sitominen tapahtuu ennen ohjelman todellista suorittamista. Staattinen sitoutuminen tapahtuu menetelmän ylikuormituksessa. Katso alla olevaa Java-ohjelmaa.

public void Laskelma {

public void summa (int x, int y) {

System.out.println ("Summa on", x + y);

}

public void summa (kaksinkertainen x, kaksinkertainen y) {

System.out.println ("Summa on", x + y);

}

public staattinen void main (String argumentoi) {

Laskenta cal = uusi Laskelma ();

laskettu summa (2,3);

laskennallinen summa (5,1, 6,4);

}

}

Yllä olevan ohjelman mukaan, kun kaksi kokonaislukua välitetään, käytetään menetelmää, jossa on kaksi kokonaislukua. Kun välitetään kaksi kaksinkertaista arvoa, käytetään kahta kaksoisarvoa vastaavaa menetelmää. Tämä sitoutumisprosessi tapahtuu laatimishetkellä. Kääntäjä tietää, että sen pitäisi kutsua summa-menetelmä, jolla on kaksi kokonaislukua arvolle cal.sum (2,3). Calille (5.1,6.4) se kutsuu summatapaa kahdella kaksoisarvolla. Kaikki vaaditut tiedot ovat tiedossa ennen ajonaikaa, joten ne lisäävät ohjelman tehokkuutta ja suorituksen nopeutta.

Mikä on dynaaminen sidonta?

Dynaamisessa sidonnassa kääntäjä ei ratkaise sidontaa kääntöhetkellä. Sitoutuminen tapahtuu ajon aikana. Se tunnetaan myös myöhäisenä sitoutumisena. Dynaaminen sidonta tapahtuu menetelmän ohituksessa. Katso Java-ohjelmassa kirjoitettu ohjelma.

julkisen luokan muoto () {

julkinen mitätön arvonta () {

System.out.println ("Piirrä muoto");

}

}

julkinen luokka Circle () laajentaa muotoa {

julkinen mitätön arvonta () {

System.out.println ("Piirrä ympyrä");

}

}

julkisen luokan kolmio () laajentaa muotoa {

julkinen mitätön arvonta () {

System.out.println ("Piirrä kolmio");

}

}

julkisen luokan testi {

public staattinen void main (String argumentoi) {

Muodot;

s = uusi muoto ();

s.piirrä ();

s = uusi ympyrä ();

s.piirrä ();

s = uusi kolmio ();

s.piirrä ();

}

}

Yllä olevan ohjelman mukaan luokassa Shape on menetelmäveto (). Luokkapiiri ja luokan Kolmio ulottavat Muoto-luokan. Luokkapiiri ja luokan kolmio voivat periä luokan Shape attribuutit ja menetelmät. Siksi luokan muoto on super- tai emoluokka. Luokkapiiri ja luokan kolmio ovat alaluokkia tai johdettuja luokkia. Näillä luokilla on myös draw () -menetelmä omilla toteutuksillaan. Siksi superluokan draw () -menetelmä ohitetaan.

Päämenetelmässä käytetään erilaisia objekteja. On muodon tyyppinen referenssimuuttuja, joka on s. Sitten s käyttää menetelmää tietyn luokan mukaan. Kääntäjänä kääntäjä viittaa vain superluokan piirtomenetelmään. Kun varsinainen toteutus alkaa, se johtaa erilaisten piirtomenetelmien suorittamiseen. Ensinnäkin s osoittaa Shape-tyypin kohteeseen. Siksi se käyttää piirustusmenetelmää Shape-luokassa. Sitten s osoittaa ympyrätyyppistä objektia ja se vetää ympyräluokan piirtomenetelmän. Lopuksi s viittaa tyypin Triangle objektiin ja se vetää piirtomenetelmän Triangle-luokassa. Vaikka referenssimuuttuja on tyyppiä Shape, sidonta sattuu riippumaan objektityypistä. Tämä käsite tunnetaan nimellä dynaaminen sidonta. Tiedot toimitetaan ajoaikana,joten suorituksen nopeus on hitaampi verrattuna staattiseen sitomiseen.

Mikä on staattisen ja dynaamisen sidonnan yhtäläisyys?

Nämä molemmat liittyvät polymorfismiin, joka sallii kohteen käyttäytyä monin tavoin

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

Erilainen artikkeli keskellä taulukkoa

Staattinen sidonta vs dynaaminen sidonta

Staattinen sidonta on sidontatyyppi, joka kerää kaikki tarvittavat tiedot toiminnon kutsumiseksi kääntöajan aikana. Dynaaminen sidonta on sidontatyyppi, joka kerää kaikki tarvittavat tiedot toiminnon kutsumiseen ajon aikana.
Sidonnan aika
Staattinen sidonta tapahtuu kääntöhetkellä. Dynaaminen sitoutuminen tapahtuu ajon aikana.
Toiminnallisuus
Staattinen sidonta käyttää tyyppitietoja sitomiseen. Dynaaminen sidonta käyttää objekteja sitomiseksi.
Todellinen kohde
Staattinen sidonta ei käytä sidonnassa todellista objektia. Dynaaminen sidonta, käytä sidonnassa todellista objektia.
Synonyymit
Staattinen sitoutuminen tunnetaan myös nimellä varhainen sitoutuminen. Dynaaminen sitoutuminen tunnetaan myös myöhäisenä sitoutumisena.
Suoritus
Suoritusnopeus on nopea staattisessa sidonnassa. Suoritusnopeus on pieni dynaamisessa sidonnassa.
Esimerkki
Staattista sidontaa käytetään menetelmän ylikuormituksessa. Dynaamista sitoutumista käytetään menetelmän ohittamiseen.

Yhteenveto - Staattinen sidonta vs Dynaaminen sidonta

Menetelmän kutsun ja menetelmän määrittelyn välillä on yhteys. Se tunnetaan sitovana. On olemassa kahden tyyppisiä sidoksia, joita kutsutaan staattiseksi ja dynaamiseksi. Staattisen sitoutumisen ja dynaamisen sitoutumisen välinen ero on se, että staattisessa sitoutumisessa sitoutuminen ratkaistaan kääntöaikana, kun taas dynaaminen sitoutuminen ratkaistaan ajoaikana, joka on todellinen suoritusaika. Koska vaaditut tiedot toimitetaan ennen ajoaikaa, staattinen sitoutuminen on suorituksessa nopeaa verrattuna dynaamiseen sitoutumiseen.

Lataa PDF-tiedosto staattisesta sidonnasta vs dynaamisesta sidonnasta

Voit ladata tämän artikkelin PDF-version ja käyttää sitä offline-tarkoituksiin lainausviestin mukaan. Lataa PDF-versio täältä: Staattisen ja dynaamisen sidonnan ero

Suositeltava: