我的派生类中如果定义了新的方法(基类中没有的方法),用基类引用的话,不能调用这个方法。这是为什么?
恩好像是
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(); } }