C#:重寫基函數(override)


 

    面向對象編程的三大特性是繼承,封裝和多態。當我們從父類中繼承了一種方法,但是我們事實上需要的是另外一種方法,這時候我們就可以通過重寫方法,實現一個方法名對應多種方法。

    舉例來說,我們有一個類名叫Animal,其中有一個方法名為Move

 

class Animal




    {




        public virtual void Move()




        {




            Console.WriteLine("Move!");




        }




    }

 

    有一個繼承於該類的子類Bird,其也有一個Move方法,而Bird里面的Move方法和父類中的不一致,我們需要重寫。重寫方法需要使用關鍵詞override

class bird : Animal




    {




        public override void Move()




        {




            Console.WriteLine("Fly!");




        }




    }

 

    我們在主函數中分別調用這兩個方法

static void Main(string[] args)




        {




            Animal myAnimal = new Animal();




            myAnimal.Move();




 




            bird myBird = new bird();




            myBird.Move();




 




            Console.ReadKey();




        }

 

    效果

全部代碼:

program.cs

using System;




using System.Collections.Generic;




using System.Linq;




using System.Text;




using System.Threading.Tasks;




 




namespace Try




{




    class Program




    {




        static void Main(string[] args)




        {




            Animal myAnimal = new Animal();




            myAnimal.Move();




 




            bird myBird = new bird();




            myBird.Move();




 




            Console.ReadKey();




        }




    }




}

 

Animal.cs

using System;




using System.Collections.Generic;




using System.Linq;




using System.Text;




using System.Threading.Tasks;




 




namespace Try




{




    class Animal




    {




        public virtual void Move()




        {




            Console.WriteLine("Move!");




        }




    }




 




    class bird : Animal




    {




        public override void Move()




        {




            Console.WriteLine("Fly!");




        }




    }




}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM