C# virtual 虚方法

把一个基类函数声明为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.";
    }
}

调用

MyBaseClass enemy = new MyDerivedClass();
enemy.VirtualMethod();

MyDerivedClass enemy = new MyDerivedClass();
enemy.VirtualMethod();

最后的结果都会显示 “Method is called in derivedclass.”

我们在子类里面重写虚函数之后,不管在哪里调用,都是调用重写之后的方法

发布了231 篇原创文章 · 获赞 8 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/cuijiahao/article/details/104211208