国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

C#之虛方法解讀

2019-11-08 19:54:15
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

C#之虛方法解讀

方法聲明前帶有virtual關(guān)鍵字,那么這個(gè)方法就是虛方法,虛方法的實(shí)現(xiàn)可以由派生類所取代,這種取代是通過(guò)方法的重寫實(shí)現(xiàn)的特點(diǎn):1.虛方法不允許有static修飾符2.虛方法不允許有abstract修飾符3.虛方法不允許有override修飾符4.虛方法不能是私有的,不能使用PRivate修飾符一般方法在編譯時(shí)就靜態(tài)地編譯到了執(zhí)行文件中,其相對(duì)地址在程序運(yùn)行期間是不發(fā)生變化的而虛方法在編譯期間是不被靜態(tài)編譯的,它的相對(duì)地址是不確定的,它會(huì)根據(jù)運(yùn)行時(shí)期對(duì)象實(shí)例來(lái)動(dòng)態(tài)判斷要調(diào)用的函數(shù)eg:Bird a = new Eagle(); 其中Bird是申明類,Eagle是實(shí)例類。1.當(dāng)a調(diào)用一個(gè)Eagle類的方法時(shí),系統(tǒng)會(huì)直接去檢查Eagle類,看所調(diào)用的方法是否為虛方法;2.如果不是虛方法,那么它就直接執(zhí)行該方法。而如果是一個(gè)虛方法,那么這個(gè)時(shí)候它就不會(huì)立刻執(zhí)行該方法了,而是開(kāi)始檢查Eagle類。3.在這個(gè)Eagle類里,他會(huì)檢查Eagle類的定義中是否有實(shí)現(xiàn)該虛方法或者重新實(shí)現(xiàn)該虛方法(通過(guò)override關(guān)鍵字)的方法,如果有,它就不會(huì)再找了,而是馬上執(zhí)行該Eagle類中實(shí)現(xiàn)虛方法的方法。

4.而如果沒(méi)有的話,系統(tǒng)就會(huì)不停地往上找Eagle類的父類,并對(duì)父類重復(fù)剛才在Eagle類里的檢查,直到找到第一個(gè)重載了該虛方法的父類為止,然后執(zhí)行該父類里重載后的方法。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 固镇县| 黄浦区| 三亚市| 岫岩| 平阳县| 大渡口区| 屏南县| 庄河市| 金川县| 海林市| 马尔康县| 涿州市| 迁安市| 桓仁| 洛阳市| 太仓市| 高州市| 黎城县| 沅陵县| 元朗区| 象山县| 茂名市| 红安县| 年辖:市辖区| 鄂尔多斯市| 和林格尔县| 成都市| 彰化市| 山丹县| 凌云县| 宁乡县| 老河口市| 乌拉特前旗| 娱乐| 韶关市| 肥乡县| 城步| 会理县| 景泰县| 静乐县| 淮安市|