靜態(tài)綁定和動(dòng)態(tài)綁定 靜態(tài)綁定與動(dòng)態(tài)綁定的區(qū)別是什么?
靜態(tài)綁定與動(dòng)態(tài)綁定的區(qū)別是什么?所謂靜態(tài)綁定,是指在程序編譯過程中將函數(shù)(方法或過程)調(diào)用與響應(yīng)調(diào)用所需的代碼相結(jié)合的過程,稱為靜態(tài)綁定。動(dòng)態(tài)綁定是在執(zhí)行過程中(非編譯期間)確定被引用對象的實(shí)際類型,
靜態(tài)綁定與動(dòng)態(tài)綁定的區(qū)別是什么?
所謂靜態(tài)綁定,是指在程序編譯過程中將函數(shù)(方法或過程)調(diào)用與響應(yīng)調(diào)用所需的代碼相結(jié)合的過程,稱為靜態(tài)綁定。
動(dòng)態(tài)綁定是在執(zhí)行過程中(非編譯期間)確定被引用對象的實(shí)際類型,并根據(jù)其實(shí)際類型調(diào)用相應(yīng)的方法
除了限制訪問外,訪問方法還確定子類將調(diào)用哪個(gè)方法或子類將訪問哪個(gè)屬性函數(shù)調(diào)用和函數(shù)本身之間的關(guān)系,以及成員訪問和變量內(nèi)存地址之間的關(guān)系,稱為綁定。在面向?qū)ο蟮拇a中,動(dòng)態(tài)綁定只對運(yùn)行時(shí)生成的訪問請求使用運(yùn)行時(shí)的可用信息,動(dòng)態(tài)綁定是指決定調(diào)用哪個(gè)方法或者訪問哪個(gè)屬性,它將基于類本身而不是訪問范圍。
靜態(tài)綁定與動(dòng)態(tài)綁定的區(qū)別是什么?
靜態(tài)綁定在編譯階段確定,即編譯階段已經(jīng)知道要調(diào)用哪個(gè)函數(shù)。
虛擬函數(shù)是動(dòng)態(tài)綁定,其目的是實(shí)現(xiàn)運(yùn)行時(shí)綁定,即,動(dòng)態(tài)綁定
在動(dòng)態(tài)綁定中,編譯器不知道調(diào)用哪個(gè)函數(shù),但是編譯器知道
如何找到這個(gè)函數(shù),也就是說,把調(diào)用哪個(gè)函數(shù)的時(shí)間留給運(yùn)行時(shí)
這個(gè)方法是通過虛函數(shù)表實(shí)現(xiàn)的
編譯器不知道調(diào)用哪個(gè)函數(shù),但是可以知道用這種方法調(diào)用虛函數(shù)表的第二種方法,實(shí)現(xiàn)了運(yùn)行時(shí)綁定的目的。
c 中動(dòng)態(tài)綁定和靜態(tài)綁定是什么意思?
靜態(tài)綁定是在編譯階段執(zhí)行的函數(shù)已經(jīng)確定,而動(dòng)態(tài)綁定是在程序執(zhí)行時(shí)確定要使用的函數(shù)。