继承的override 和new 的区别
举个例子:
class BaseClass
{
public virtual void DoSomething(){} //一定要有virtual 才能被override
}
class SubClass1 : BaseClass
{
public override void DoSomething(){}
}
class SubClass2 : BaseClass
{
public new void DoSomething(){}
}
然后用基类的类型建两个子类的实例
BaseClass object1= new SubClass1()
BaseClass object2= new SubClass2()
object1.DoSomething()调用的是子类Override后的新方法
object2.DoSomething()调用的仍然是基类的方法