国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 乌什县| 湘阴县| 长子县| 监利县| 平昌县| 周宁县| 门源| 四川省| 伊通| 新竹县| 浮山县| 新巴尔虎左旗| 永康市| 明溪县| 黔南| 宜阳县| 三台县| 桐梓县| 井冈山市| 淮南市| 龙陵县| 乡宁县| 丹江口市| 独山县| 靖宇县| 兴国县| 桑植县| 怀仁县| 汾阳市| 丹凤县| 曲松县| 福泉市| 揭西县| 伽师县| 南岸区| 肇源县| 邛崃市| 万源市| 迭部县| 曲松县| 剑阁县|