面向对象编程的三大特性是继承,封装和多态。当我们从父类中继承了一种方法,但是我们事实上需要的是另外一种方法,这时候我们就可以通过重写方法,实现一个方法名对应多种方法。
举例来说,我们有一个类名叫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();
}
效果

本文探讨了面向对象编程中的多态特性,通过C#代码示例解释了如何重写基类方法。当子类需要提供与父类不同行为的同名方法时,可以使用`override`关键字进行重写。文章展示了Animal和Bird两个类,以及它们的Move方法如何被重写和调用。
最低0.47元/天 解锁文章
864

被折叠的 条评论
为什么被折叠?



