Staatilise ja dünaamilise sidumise erinevus
![Staatilise ja dünaamilise sidumise erinevus - Tehnoloogia Staatilise ja dünaamilise sidumise erinevus - Tehnoloogia](https://a.fondoperlaterra.org/technology-differences/difference-between-static-and-dynamic-binding.jpg)
Sisu
- Võrdlusdiagramm:
- Staatilise köitmise määratlused
- Staatilise sidumise rakendamine C ++ näites ülekoormusest
- Järeldus:
Funktsiooni määratluse sidumist funktsiooni kõnega või väärtuse seostamist muutujaga nimetatakse sidumiseks. Kompileerimise ajal antakse igale funktsiooni määratlusele mäluaadress; niipea kui funktsioonikõned on tehtud, liigub programmi täitmise kontroll sellele mäluaadressile ja sellesse kohta salvestatud funktsioonikood käivitatakse, see on funktsiooni kõne sidumine funktsiooni määratlusega. Köitmise võib liigitada staatiliseks köitmiseks ja dünaamiliseks köitmiseks.
Kui see on juba enne tööaega teada, milline funktsioon käivitatakse või milline väärtus on muutujale määratud, on see staatiline sidumine. kui sellest saab teada rakenduse ajal, nimetatakse seda dünaamiliseks köitmiseks.
- Võrdlusdiagramm
- Definitsioon
- Peamised erinevused
- Järeldus
Võrdlusdiagramm:
Võrdluse alus | Staatiline köitmine | Dünaamiline köitmine |
---|---|---|
Ürituse toimumine | Kompileerimise ajal toimuvad sündmused on "Staatiline sidumine". | Käituse ajal toimuvad sündmused on "dünaamiline sidumine". |
Teave | Kogu funktsiooni kutsumiseks vajalik teave on kompileerimise ajal teada. | Kogu funktsiooni kutsumiseks vajalik teave on teada jooksval ajal. |
Eelis | Tõhusus. | Paindlikkus. |
Aeg | Kiire täitmine. | Aeglane täitmine. |
Alternatiivne nimi | Varane köitmine. | Hiline köitmine. |
Näide | Ülekoormatud funktsioonikõne, ülekoormatud operaatorid. | Virtuaalne funktsioon C ++-s, javas ületatud meetodid. |
Staatilise köitmise määratlused
Kui kompilaator aktsepteerib kogu funktsiooni kutsumiseks vajalikku teavet või kõiki muutujate väärtusi kompileerimise ajal, nimetatakse seda “staatiline sidumine“. Kuna kogu vajalik teave on teada enne tööaega, suurendab see programmi tõhusust ja suurendab ka programmi täitmise kiirust.
Staatiline köitmine muudab programmi väga tõhusaks, kuid see vähendab programmi paindlikkust, kuna programmis on eelnevalt määratletud muutuja väärtused ja funktsiooni kutsumine. Staatiline köide rakendatakse programmis kodeerimise ajal.
Funktsiooni või operaatori ülekoormamine on näide kompileerimisaja polümorfismist, st staatilisest sidumisest.
Staatilise sidumise rakendamine C ++ näites ülekoormusest
# kaasata Siin muutub kursori väärtus programmi käivitamisel ja osuti väärtus otsustab, millise klassi funktsiooni kutsutakse. Nii et siin antakse teavet käitamisajal, andmete sidumiseks kulub aeg, mis aeglustab täitmist. Siiski järeldame, et kui meil on eelteadmised muutujate ja funktsioonide kutsumise väärtustest, rakendame staatilist sidumist. Ja vastupidi, dünaamilises köites anname kogu teabe täitmise ajal.
Järeldus: