C#继承

继承的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()调用的仍然是基类的方法


请使用浏览器的分享功能分享到微信等