虚方法 把一个基类函数声明为virtual,就可以在任何派生类中重写该函数 class MyBaseClass { public virtual string VirtualMethod() { return "Method is called in base class"; } } 在派生类中重写另外一个函数时,要使用override关键字显示声明 class MyDerivedClass:MyBaseClass { public override string VirtualMethod() { return "Method is called in derivedclass."; } } 隐藏方法 如果签名相同的方法在基类和派生类中都进行了声明但是该方法没有分别声明为virtual和override,派生类就会隐藏基类方法要使用new关键字进行声明 基类 class MyBaseClass{ public int MyMethod(){ } } 派生类(在派生类中把基类同名的方法隐藏掉了) class MyDerivedClass :MyBaseClass{ public new void MyMethod() { } }