Разлика између статичког и динамичког везивања
![switch with indicator -Test](https://i.ytimg.com/vi/ZrbF3dyRF98/hqdefault.jpg)
Садржај
- Упоредни графикон:
- Дефиниције статичког везивања
- Примена статичког везивања у Ц ++ са примером преоптерећења
- Закључак:
Везивање асоцијације 'дефиниције функције' са 'функцијским позивом' или повезаности 'вредности' са 'променљивом', назива се 'везивање'. Током компилације, свакој 'дефиницији функције' се даје меморијска адреса; Чим се изврши позивање функција, контрола извршења програма премешта се на ту меморијску адресу и извршава се код функције који се чува на тој локацији, ово је Везивање „функције позива“ на „дефиниција функције“. Везање се може класификовати као „статичко везивање“ и „динамичко везивање“.
Ако се већ зна за време извођења, која ће се функција позивати или која ће се вредност доделити променљивој, онда је то „статичко везивање“. ако се сазна за време извођења, онда се то назива "динамичко везивање".
- Упоредни графикон
- Дефиниција
- Кључне разлике
- Закључак
Упоредни графикон:
Основе за поређење | Статиц Биндинг | Динамиц Биндинг |
---|---|---|
Појава догађаја | Догађаји који се догађају у време компилације су "Статично везивање". | Догађаји који се догађају у току извођења су „Динамично везивање“. |
Информације | Све информације потребне за позивање функције познате су у вријеме компилације. | Све информације о позиву функције морају се знати у току рада. |
Предност | Ефикасност. | Флексибилност |
време | Брзо извршење. | Споро извршење. |
Алтернативни назив | Рано везивање. | Касно везивање. |
Пример | Преоптерећен позив функције, преоптерећени оператери. | Виртуелна функција у Ц ++, надјачана метода у јави. |
Дефиниције статичког везивања
Када компајлер препозна све информације потребне за позивање функције или све вредности променљивих током времена компилације, она се зове „статичко везивање“. Како су све потребне информације познате пре времена извођења, то повећава ефикасност програма и повећава брзину извршења програма.
Статичко увезивање чини програм веома ефикасним, али одбија програмску флексибилност, јер су у њему предефинисане „вредности променљиве“ и „позивање функције“. Статичко везивање се проводи у програму у тренутку кодирања.
Преоптерећење неке функције или оператера је пример полиморфизма у компајлирању, тј. Статичког Везивања.
Примена статичког везивања у Ц ++ са примером преоптерећења
#инцлуде Овде се вредност показивача мења током извођења програма, а вредност показивача одлучује која ће се функција класе позвати. Дакле, овде се информације пружају у време извођења, потребно је време да се вежу подаци који успоравају извршење. Међутим, закључујемо да када претходно знамо вредности променљивих и функција позива применимо статичко везивање. Супротно томе, у динамичном увезивању пружамо све информације у тренутку извршења.
Закључак: