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

首頁 > 編程 > C# > 正文

c#方法重寫和隱藏的學(xué)習(xí)示例

2020-01-24 02:50:33
字體:
供稿:網(wǎng)友

最近正在學(xué)習(xí)c#,對其中的方法重寫和隱藏的概念很是模糊,現(xiàn)在將其歸納如下:

1:方法重寫:就是在基類中的方法用virtual關(guān)鍵字來標(biāo)識,然后在繼承類中對該類進(jìn)行重寫(override),這樣基類中的方法已經(jīng)被重寫了,已經(jīng)失去了功能了。當(dāng)讓基類的對象的引用直接指向繼承類的對象時(shí)(多態(tài)性),調(diào)用該方法則是調(diào)用的繼承類的方法。

2:方法隱藏:無論基類中的方法是否用了virtual關(guān)鍵字,繼承類中都可以用new關(guān)鍵字(如果不用new的話,不會產(chǎn)生錯誤,但會生成一個(gè)編譯警告)將基類中的方法隱藏,所謂隱藏就是隱藏,不像重寫,重寫就是原來的(基類中)已經(jīng)不存在了,而隱藏是原來的還存在。所以當(dāng)讓基類的對象的引用直接指向繼承類的對象時(shí)(多態(tài)性),調(diào)用該方法則是調(diào)用的基類的方法。

代碼如下:

復(fù)制代碼 代碼如下:

public class BaseClass
    {
        public void functionA()
        {
            Console.WriteLine("BaseFunctionA //m.survivalescaperooms.com/sosoft/");
        }
        public virtual void functionB()
        {
            Console.WriteLine("BaseFunctionB //m.survivalescaperooms.com/sosoft/");
        }
    }
   public class DerivedClass:BaseClass
    {
        public new void functionA()
        {
            Console.WriteLine("DerivedFunctionA //m.survivalescaperooms.com/sosoft/");
        }
        public override void functionB()
        {
            Console.WriteLine("DerivedFunctionB //m.survivalescaperooms.com/sosoft/");
        }
    }

當(dāng)利用多態(tài)性執(zhí)行下面代碼時(shí):

復(fù)制代碼 代碼如下:

BaseClass baseFunction=new DerivedClass();
baseFunction.functionA();
baseFunction.functionB();

得到的結(jié)果是:

復(fù)制代碼 代碼如下:

BaseFunctionA //m.survivalescaperooms.com/sosoft/
DerivedFunctionB //m.survivalescaperooms.com/sosoft/

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 曲松县| 武功县| 吴旗县| 休宁县| 伊通| 桐庐县| 松桃| 普安县| 金溪县| 蕲春县| 商洛市| 京山县| 罗山县| 竹北市| 镇远县| 武清区| 民勤县| 迁西县| 和平区| 双流县| 鄂伦春自治旗| 延津县| 从江县| 合江县| 秭归县| 墨竹工卡县| 砚山县| 夏津县| 周口市| 大宁县| 翁牛特旗| 阿瓦提县| 中宁县| 永城市| 扶绥县| 图片| 固阳县| 长泰县| 遂川县| 湟中县| 金山区|