六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

DELPHI中的靜態虛擬及動態方法函數的區別

[摘要]1、靜態方法是方法的缺省類型,對它就像對通常的過程和函數那樣調用,編譯器知道這些方法的地址,所以調用一個靜態方法時它能把運行信息靜態地鏈接進可執行文件,所以,靜態方法速度最快,但它們卻不能被覆蓋來支持多態性。2、虛擬方法和靜態方法的調用方式相同。由于虛擬方法能被覆蓋,在代碼中調用一個指定的虛擬方法...
1、靜態方法是方法的缺省類型,對它就像對通常的過程和函數那樣調用,編譯器知道這些方法的地址,所以調用一個靜態方法時它能把運行信息靜態地鏈接進可執行文件,所以,靜態方法速度最快,但它們卻不能被覆蓋來支持多態性。

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

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

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


主站蜘蛛池模板: 中文字幕激情 | 四虎在线网址 | 亚洲欧美日韩中字综合 | 日韩免费不卡视频 | 日韩欧美一区二区中文字幕 | 热热涩热热狠狠色香蕉综合 | 婷婷综合久久中文字幕 | 日本亚欧乱色视频在线观看 | 青青草国产免费久久久下载 | 色综合久久精品中文字幕 | 性感美女视频免费网站午夜 | 午夜色视频在线观看 | 性欧美人 | 在线观看亚洲欧美 | 一级毛片免费视频 | 欧美性猛交xxxx乱大交中文 | 亚洲高清视频在线观看 | 一级做a爰片 | 色综合久久久久久久久久久 | 一级床片40分钟免费视频 | 中文字幕在线视频第一页 | 偷拍免费视频 | 日日爱网址 | 性喷潮久久久久久久久 | 色在线视频播放 | 青青青国产手机在线播放 | 伊人久久大香网 | 亚洲欧美综合图片 | 日韩一级精品视频在线观看 | 一二三四免费观看高清观看在线 | 中文字幕欧美日韩久久 | 日日影视 | 深爱婷婷激情网 | 亚洲人成影网站~色 | 日韩欧美亚洲国产精品字幕久久久 | 手机在线看片日韩 | 日韩a视频在线观看 | 欧美一级特黄aaaaaaa在线观看 | 亚洲伊人成人网 | 亚洲成在人天堂在线 | 日本天堂视频在线观看 |