課程
/后端開發
/C#
/C#面向對象編程
用基類指向派生類 ,那派生類中自己所擁有獨特的方法怎么被調用? Pet() cat = new Cat(); Cat(){ //獨特的方法 }
2018-07-04
源自:C#面向對象編程 2-3
正在回答
就相當于:
動物 a = new 鳥();//我要一個動物就行(動物 a),給了一只鳥(new 鳥())
a.吃();//我們知道a是動物,動物都能吃,所以a.吃()沒有問題。
a.飛();//這句話就有問題了,因為不是所有的動物a都能飛();所以,動物a是不能訪問鳥的飛()的。
qq_夢嶼_0 提問者
這個實例(cat)是子類的,但是因為你聲明時是用父類(Pet)聲明的,所以你用正常的辦法訪問不到子類(Cat)自己的成員Cat(),只能訪問到從父類繼承來的成員。 如果要硬訪問的話,Cat() cat1 = cat as Cat(); cat1.Cat(); 我覺得這樣就毫無意義了。
舉報
本系列教程主要是,帶你學習C#面向對象編程的編程思想、編程技巧
1 回答這個錯誤怎么解決,求程序猿大神指導!
2 回答請大佬解釋
2 回答?求一大神:軟件運行出錯
5 回答求幫忙看下哪兒錯了
1 回答對于內容的不理解
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-07-05
就相當于:
動物 a = new 鳥();//我要一個動物就行(動物 a),給了一只鳥(new 鳥())
a.吃();//我們知道a是動物,動物都能吃,所以a.吃()沒有問題。
a.飛();//這句話就有問題了,因為不是所有的動物a都能飛();所以,動物a是不能訪問鳥的飛()的。
2018-07-05
這個實例(cat)是子類的,但是因為你聲明時是用父類(Pet)聲明的,所以你用正常的辦法訪問不到子類(Cat)自己的成員Cat(),只能訪問到從父類繼承來的成員。 如果要硬訪問的話,Cat() cat1 = cat as Cat(); cat1.Cat(); 我覺得這樣就毫無意義了。