qq_梦屿_0
2018-07-04 20:44
用基类指向派生类 ,那派生类中自己所拥有独特的方法怎么被调用? Pet() cat = new Cat(); Cat(){ //独特的方法 }
就相当于:
动物 a = new 鸟();//我要一个动物就行(动物 a),给了一只鸟(new 鸟())
a.吃();//我们知道a是动物,动物都能吃,所以a.吃()没有问题。
a.飞();//这句话就有问题了,因为不是所有的动物a都能飞();所以,动物a是不能访问鸟的飞()的。
这个实例(cat)是子类的,但是因为你声明时是用父类(Pet)声明的,所以你用正常的办法访问不到子类(Cat)自己的成员Cat(),只能访问到从父类继承来的成员。 如果要硬访问的话,Cat() cat1 = cat as Cat(); cat1.Cat(); 我觉得这样就毫无意义了。
C#面向对象编程
68857 学习 · 153 问题
相似问题