回覆列表
  • 1 # 使用者8107137581681

    子類可以對父類中的虛方法進行重寫,虛方法是多型特性的一種體現

    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();

    }

    }

  • 中秋節和大豐收的關聯?
  • 小吃店怎樣選擇合適位置?