qq_温火润心_0
2017-09-02 11:53
我的派生类中如果定义了新的方法(基类中没有的方法),用基类引用的话,不能调用这个方法。这是为什么?
恩好像是
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();
}
}C#面向对象编程
69260 学习 · 160 问题
相似问题