为了账号安全,请及时绑定邮箱和手机立即绑定

用基类类型引用不能调用派生类中的个性方法吗?

我的派生类中如果定义了新的方法(基类中没有的方法),用基类引用的话,不能调用这个方法。这是为什么?

正在回答

2 回答

恩好像是

0 回复 有任何疑惑可以回复我~
class Program{
    static void Main(string[] args){
    Pet dog = new Dog();                            //这里使用了多态,引用是基类
    dog.Name = "Jack";                              //赋值,是给基类的Name赋值
    dog.PrintName();                                //这里需要引用派生类、相同签名、新的方法,要使用
                                                    虚方法,就需要在基类--方法--声明virtual
                                                    //然后再在派生类--方法--声明override,派生写基类的方法,
                                                    这个可称为复写、重写等等
                                                    //但是,Name属性给了基类,如果派生也有同名属性,
                                                    就会没有给派生类(一般不大会有这情况)
    dog.Speak();
    Pet cat = new Cat();
    cat.Name = "Tom";
    cat.PrintName();
    cat.Speak();
    }
}


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

用基类类型引用不能调用派生类中的个性方法吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信