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