課程
/后端開發(fā)
/C#
/C#面向?qū)ο缶幊?/a>
我的派生類中如果定義了新的方法(基類中沒有的方法),用基類引用的話,不能調(diào)用這個方法。這是為什么?
2017-09-02
源自:C#面向?qū)ο缶幊?nbsp; 2-3
正在回答
恩好像是
class?Program{ ????static?void?Main(string[]?args){ ????Pet?dog?=?new?Dog();????????????????????????????//這里使用了多態(tài),引用是基類 ????dog.Name?=?"Jack";??????????????????????????????//賦值,是給基類的Name賦值 ????dog.PrintName();????????????????????????????????//這里需要引用派生類、相同簽名、新的方法,要使用 ????????????????????????????????????????????????????虛方法,就需要在基類--方法--聲明virtual ????????????????????????????????????????????????????//然后再在派生類--方法--聲明override,派生寫基類的方法, ????????????????????????????????????????????????????這個可稱為復寫、重寫等等 ????????????????????????????????????????????????????//但是,Name屬性給了基類,如果派生也有同名屬性, ????????????????????????????????????????????????????就會沒有給派生類(一般不大會有這情況) ????dog.Speak(); ????Pet?cat?=?new?Cat(); ????cat.Name?=?"Tom"; ????cat.PrintName(); ????cat.Speak(); ????} }
舉報
本系列教程主要是,帶你學習C#面向?qū)ο缶幊痰木幊趟枷搿⒕幊碳记?/p> 進入課程
2 回答用基類引用指向派生類
1 回答基類的引用
3 回答關(guān)于派生類構(gòu)造函數(shù)中this的用法,如何使用呢?
1 回答為什么用泛型類不用抽象類?
4 回答隱式調(diào)用基類的構(gòu)造函數(shù)
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2017-09-07
恩好像是
2017-09-02