人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開發(fā)教程 > 詳細頁面

DELPHI中的靜態(tài)虛擬及動態(tài)辦法函數(shù)的區(qū)別

DELPHI中的靜態(tài)虛擬及動態(tài)辦法函數(shù)的區(qū)別

更新時間:2022-09-26 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

1、靜態(tài)方法是方法的缺省類型,對它就像對通常的過程和函數(shù)那樣調(diào)用,編譯器知道這些方法的地址,所以調(diào)用一個靜態(tài)方法時它能把運行信息靜態(tài)地鏈接進可執(zhí)行文件,所以,靜態(tài)方法速度最快,但它們卻不能被覆蓋來支持多態(tài)性。

2、虛擬方法和靜態(tài)方法的調(diào)用方式相同。由于虛擬方法能被覆蓋,在代碼中調(diào)用一個指定的虛擬方法時編譯器并不知道它的地址,因此,編譯器通過建立虛擬方法表(VMT)來查找在運行時的函數(shù)地址。所有的虛擬方法在運行時通過VMT來高度,一個對象的VMT表中除了自己定義的虛擬方法外,還有它的祚的所有的虛擬方法,因此虛擬方法比動態(tài)方法用的內(nèi)存要多,但它執(zhí)行得比較快。

3、動態(tài)方法跟虛擬方法基本相似,只是它們的高度系統(tǒng)不同。編譯器為每一個動態(tài)方法指定一個獨一無二的數(shù)字,用這個數(shù)字和動態(tài)方法的地址構(gòu)造一個動態(tài)方法表(DMT)。不像VMT表,在DMT表中僅有它聲明的動態(tài)方法,并且這個方法需要祖先的DMT表來訪問它蓁的動態(tài)方法。正因為這樣動態(tài)方法比虛擬方法用的內(nèi)存要少,但執(zhí)行起來羅慢,因為有可能要到祚對象的DMT中查找動態(tài)法。

4、OP通過覆蓋使一方法在不同的派生類間表現(xiàn)出不同的行為。OP中能被覆蓋的方法是在聲明時被標識為virtual或dynamic的方法。為了覆蓋一個方法,在派生類的聲明中用override代替virtual或dynamic。用了override后,編譯器就會用新的方法替換VMT中原先的方法,而原先的方法也還存在,而如果用override再次聲明一個靜態(tài)方法,則是真正的覆蓋,是用新的方法完全替換在祖先類中的同明方法。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
主站蜘蛛池模板: 张家川| 禹州市| 古交市| 长宁县| 长春市| 丹寨县| 赫章县| 罗定市| 池州市| 南汇区| 宣威市| 宝应县| 石屏县| 新干县| 白河县| 长宁区| 清远市| 司法| 旬邑县| 潜山县| 周至县| 梨树县| 诸城市| 北海市| 黎平县| 建水县| 鹿邑县| 会泽县| 泸溪县| 兴义市| 三门峡市| 济源市| 辛集市| 花莲县| 青海省| 赤水市| 峡江县| 芦山县| 光泽县| 红桥区| 监利县|