Vitual method and override

简单的虚方法和重写

​ 现在我有个类Left00,Left01,Left02,继承自HerBase类,有一个右边显示界面,有一个中间显示界面。右边显示界面需要类Left00的Number属性为1。中间显示界面有个传入继承自:HerBase类的泛型方法New()。想要使new之后Left00Number属性变为1。

​ 由于泛型方法还要用其他的对象,不能直接将item as Left00。

​ 于是

1
2
3
4
5
6
7
public class HerBase
{
public virtual void ChangeSubclassProperty()
{

}
}
1
2
3
4
5
public void New()
{
...
item.ChangeSubclassProperty();
}
1
2
3
4
5
6
7
8
9
public class Left:HerBase
{
...
public override void ChangeSubclassProperty()
{
base.ChangeSubclassProperty();
this.Number = 1;
}
}