Ero staattisen ja dynaamisen sitomisen välillä
Sisältö
- Vertailutaulukko:
- Määritelmät Staattinen sidonta
- Staattisen sitoutumisen toteutus C ++: ssa esimerkillä ylikuormituksesta
- johtopäätös:
'Funktion määritelmän' sitovaa yhdistämistä 'funktion kutsuun' tai 'arvon' yhdistämistä 'muuttujaan' kutsutaan 'sitovaksi'. Kokoonpanon aikana jokaiselle 'toiminnon määritelmälle' annetaan muistiosoite; heti kun funktiokutsut on suoritettu, ohjelman suorituksen hallinta siirtyy siihen muistiosoitteeseen ja saadaan toimipaikkakoodi, joka on tallennettu kyseiseen sijaintiin, suoritettu, tämä on 'funktiokutsun' sitominen 'funktion määritelmään'. Sidonta voidaan luokitella 'staattiseksi sidonnaksi' ja 'dynaamiseksi sidonnaksi'.
Jos se on jo tiedossa ennen suoritusta, mikä toiminto käynnistetään tai mikä arvo on osoitettu muuttujalle, se on 'staattinen sidonta'. jos se tulee tietoon suorituksen aikana, sitä kutsutaan 'dynaamiseksi sidonnaksi'.
- Vertailutaulukko
- Määritelmä
- Keskeiset erot
- johtopäätös
Vertailutaulukko:
Vertailun perusteet | Staattinen sidonta | Dynaaminen sidonta |
---|---|---|
Tapahtuman esiintyminen | Kokoonpanohetkellä tapahtuvat tapahtumat ovat "staattista sitoutumista". | Ajon aikana tapahtuvat tapahtumat ovat "dynaamista sitomista". |
Tiedot | Kaikki toiminnon kutsumiseen tarvittavat tiedot tiedetään kokoamishetkellä. | Kaikki toiminnon kutsumiseksi tarvittavat tiedot tulee tietää ajon aikana. |
Etu | Tehokkuutta. | Joustavuus. |
Aika | Nopea toteutus. | Hidas toteutus. |
vaihtoehtoinen nimi | Varhainen sitominen. | Myöhäinen sitominen. |
esimerkki | Ylikuormitettu toimintopuhelu, ylikuormitetut operaattorit. | Virtuaalitoiminto C ++: ssa, ohitetut menetelmät javalla. |
Määritelmät Staattinen sidonta
Kun kääntäjä kuittaa kaikki toiminnon kutsumiseksi vaadittavat tiedot tai kaikki muuttujien arvot käännösaikana, sitä kutsutaan “staattinen sidonta”. Koska kaikki vaadittavat tiedot tiedetään ennen suoritusta, se lisää ohjelman tehokkuutta ja lisää myös ohjelman suorittamisen nopeutta.
Staattinen sidonta tekee ohjelmasta erittäin tehokkaan, mutta se heikentää ohjelman joustavuutta, koska 'muuttujan arvot' ja 'funktion kutsuminen' on ennalta määritetty ohjelmassa. Staattinen sidonta toteutetaan ohjelmassa koodauksen aikaan.
Funktion tai operaattorin ylikuormitus ovat esimerkki käännösajan polymorfismista, ts. Staattisesta sitoutumisesta.
Staattisen sitoutumisen toteutus C ++: ssa esimerkillä ylikuormituksesta
#sisältää Osoittimen arvo muuttuu, kun ohjelma on suorittamassa, ja osoittimen arvo päättää, mihin luokan funktioon kutsutaan. Joten tässä tiedot toimitetaan ajoaikana, tietojen sitominen vie aikaa, joka hidastaa suoritusta. Johtopäätöksenä on kuitenkin, että kun meillä on etukäteen tieto muuttujan ja funktion kutsumisesta, käytämme staattista sitomista. Päinvastoin, dynaamisessa sidonnassa, tarjoamme kaikki tiedot suoritushetkellä.
johtopäätös: