类的继承问题,请前辈指导!先感谢了!
代码如下:
问题:1、类继承后,方法的重写,是不是父类必须写了Virtual才行?
2、Cat这个类中,用new和override关键字有什么区别?
3、如果是编译成dll文件类,应该怎样引用后继承? 如果编译成dll文件中的没有Virtual关键字,我是不是就不能重写方法?
public class Animal
{
public string Word = "";
public virtual void Introduce()
{
Word = "我是动物";
}
}
public class Dog : Animal
{
public override void Introduce()
{
Word = "我是狗";
}
}
public class Cat : Animal
{
public new void Introduce()
{
Word = "我是猫";
}
}
------解决方案--------------------1、类继承后,方法的重写,是不是父类必须写了Virtual才行?
必须是这样。
2、Cat这个类中,用new和override关键字有什么区别?
new相当于公共汽车上的逃生锤,明白么?几乎用不到。它的作用是故意定义一个和基类名字完全相同但是毫不搭界的方法,你觉得这样的用途你用得到么?
3、如果是编译成dll文件类,应该怎样引用后继承? 如果编译成dll文件中的没有Virtual关键字,我是不是就不能重写方法?
是的,好比一个变量没有加上public你当然不能访问到了。
------解决方案--------------------版主又忘了,Abstract也是可以重写的
------解决方案--------------------表示类的继承 重载 多态我到现在用到的还不是很深 貌似我们系统曾经用过把所有的页面都继承自一个父类 这样在父类中写状态保持 子类中就不用写了。。。