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

首頁 > 編程 > C# > 正文

C#中new和override的區別個人總結

2020-01-24 01:43:38
字體:
來源:轉載
供稿:網友

問題:

A類 有方法 public virtual void test()
B類繼承自A類,有方法 public new void test() 
如下實例化:

A a = new B(); a.test();

會調用哪個類中的TEST方法,最好能詳細給我解釋一下好嗎?先謝謝了!

回答:

如果你用override,則無論調用的是A類還是B類中的TEST(),系統都會找到它實質類的TEST();
如果是用的New,則可以通過類型轉換調用到基類的TEST();

下面是override的情況:

A a = new A(); B b = new B();A a1=new B();a.Test();//調用A中Test();b.Test();//調用B中Test();a1.Test();//調用B中Test();系統會自動識別a1是B的實例

((A)b).Test();//與上面相同

下面是new的情況:

A a = new A(); B b = new B();A a1=new B();a.Test();//調用A中Test();b.Test();//調用B中Test();a1.Test();//調用A中Test();((A)b).Test();//與上面相同

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泰州市| 乃东县| 茶陵县| 同心县| 桐城市| 徐州市| 张家口市| 娄底市| 鸡西市| 忻城县| 盘锦市| 盐源县| 鱼台县| 文山县| 正蓝旗| 聊城市| 福海县| 太原市| 班玛县| 昌都县| 弥勒县| 辉县市| 霍山县| 凤城市| 刚察县| 林芝县| 江山市| 高台县| 邛崃市| 寿宁县| 秦安县| 宜春市| 丹凤县| 高雄县| 昌江| 平陆县| 福建省| 禹州市| 东平县| 伊春市| 鲁甸县|