一米阳光936
2018-01-05 10:56
用基类引用指向派生类时,如果派生类里面的方法是基类里面没有的,是不是派生类的方法就不能调用??
用基类引用指向派生类时,派生类里面的方法只能是重写基类里面的虚方法才有意义?
问题1:用基类引用指向派生类时,只能使用基类中的方法。但是,若基类里面有虚方法或抽象方法,且派生类里面也重写了该虚方法或抽象方法,则程序运行时会调用派生类里面重写的方法。
问题2:若基类里面有虚方法,派生里面没有用override重写虚方法的话,则会调用基类里面的虚方法,但是意义不大,虚方法的主要作用是体现功能多态性。
基类指向派生类时,只能使用基类的方法,不能使用派生类的方法。你可以使用派生类创建
如果基类不写虚方法,则派生类不能重写(override),重写基类的方法必须是 virtual、abstract或override
C#面向对象编程
68857 学习 · 153 问题
相似问题