C#虚方法


作用:子类可以对父类中的虚方法进行重写,虚方法是多态特性的一种体现

C#中的虚方法使用virtual关键字定义

public virtual void eat();

override关键字作用是对父类的virtual方法进行重写

public override void eat();

 

代码举例:

using System;
using System.Collections;

public class Animal
{
    public Animal() { }
    public virtual void eat()
    {

    }
}

public class dog:Animal
{
    public override void eat()
    {
        //如果父类的虚方法中有我们需要的数据,可以在子类的覆盖方法中调用它:
        //base.eat();
        Console.WriteLine("狗吃骨头");
    }
}

public class cat:Animal
{
    public override void eat()
    {
        Console.WriteLine("猫吃鱼");
    }
}

public class panda:Animal
{
    public override void eat()
    {
        Console.WriteLine("熊猫吃竹子");
    }
}

public class MainFun
{
    static void Main()
    {
        Animal[] anim = new Animal[3];
        anim[0] = new dog();
        anim[1] = new cat();
        anim[2] = new panda();
        anim[0].eat();
        anim[1].eat();
        anim[2].eat();
    }
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM