用基类引用指向派生类

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

一米阳光936

2018-01-05 10:56

用基类引用指向派生类时,如果派生类里面的方法是基类里面没有的,是不是派生类的方法就不能调用??

用基类引用指向派生类时,派生类里面的方法只能是重写基类里面的虚方法才有意义?

写回答 关注

2回答

  • xivix
    2018-01-08 13:29:23

    问题1:用基类引用指向派生类时,只能使用基类中的方法。但是,若基类里面有虚方法或抽象方法,且派生类里面也重写了该虚方法或抽象方法,则程序运行时会调用派生类里面重写的方法。

    问题2:若基类里面有虚方法,派生里面没有用override重写虚方法的话,则会调用基类里面的虚方法,但是意义不大,虚方法的主要作用是体现功能多态性。

  • qq_newstart_3
    2018-01-08 07:24:30

    基类指向派生类时,只能使用基类的方法,不能使用派生类的方法。你可以使用派生类创建

    如果基类不写虚方法,则派生类不能重写(override),重写基类的方法必须是 virtual、abstract或override

C#面向对象编程

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

68606 学习 · 153 问题

查看课程

相似问题