求解++++++++++++

来源:2-3 虚方法和多态

qq_梦屿_0

2018-07-04 20:44

用基类指向派生类 ,那派生类中自己所拥有独特的方法怎么被调用? Pet() cat = new Cat(); Cat(){ //独特的方法 }

写回答 关注

2回答

  • 慕沐0087746
    2018-07-05 17:13:24
    已采纳

    就相当于:

    动物 a = new 鸟();//我要一个动物就行(动物 a),给了一只鸟(new 鸟())

    a.吃();//我们知道a是动物,动物都能吃,所以a.吃()没有问题。

    a.飞();//这句话就有问题了,因为不是所有的动物a都能飞();所以,动物a是不能访问鸟的飞()的。

    qq_梦屿_...

    非常感谢!

    2018-07-06 15:55:43

    共 1 条回复 >

  • 慕沐0087746
    2018-07-05 17:06:51

    这个实例(cat)是子类的,但是因为你声明时是用父类(Pet)声明的,所以你用正常的办法访问不到子类(Cat)自己的成员Cat(),只能访问到从父类继承来的成员。 如果要硬访问的话,Cat() cat1 = cat as Cat(); cat1.Cat(); 我觉得这样就毫无意义了。

C#面向对象编程

本系列教程主要是,带你学习C#面向对象编程的编程思想、编程技巧

68857 学习 · 153 问题

查看课程

相似问题