一. 面向对象重要特性之多态
要掌握C#的Override和New关键字的用法,首先要理解多态;这里不赘述各种官方对多态的解释,下面给出个人直白理解:
父类F中声明一个方法M并用virtual修饰其为虚方法,子类S实现了相同签名的方法M并用Override对齐进行修饰,这时称子类覆盖了父类的方法;用子类类型new出来赋值给父类类型的对象o时,o调用M,执行的是子类中的M,这种语法叫做多态。
二.Override和New使用示例
namespace LearnCS1
{
class BaseClass
{
public virtual void Method1()
{
Console.WriteLine("Base - Method1");
}
public virtual void Method2()
{
Console.WriteLine("Base - Method2");
}
}
class DerivedClass : BaseClass
{
public override void Method1()
{
Console.WriteLine("Derived - Method1");
}
public new void Method2()
{
Console