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