C#关键字之重写override介绍
什么是重写
在面向对象编程中,重写是指在子类中对父类中已有的方法进行重新实现。当子类继承自父类时,子类继承了父类的方法,但是有时候子类需要对这些方法进行修改或者扩展,这就需要使用到重写。
override关键字
在C#中,使用override关键字来重写父类的方法,重写的方法必须与被重写的方法具有相同的名称、返回类型、参数列表。同时在方法体内需要添加override访问修饰符。
以下是重写方法的示例:
class Animal
{
public virtual void Move()
{
Console.WriteLine("Animal moves");
}
}
class Dog : Animal
{
public override void Move()
{
Console.WriteLine("Dog walks on four legs");
}
}
在该示例中,Animal类有一个名为Move的虚方法。Dog类继承自Animal,并且重写了Move方法。重写后的方法输出"Dog walks on four legs"。
虚方法和抽象方法
在C#中,使用virtual关键字来声明虚方法,抽象方法则使用abstract关键字。与虚方法不同的是,抽象方法没有方法体,只有声明,需要在子类中进行实现。
以下是抽象方法的示例:
abstract class Animal
{
public abstract void Move();
}
class Dog : Animal
{
public override void Move()
{
Console.WriteLine("Dog walks on four legs");
}
}
在该示例中,Animal类中的Move方法声明为抽象方法,没有实现。Dog类继承Animal类并且实现了Move方法,输出了"Dog walks on four legs"。
总结
在C#中,override关键字用于重写父类中已有的方法,子类中重写后的方法必须与父类中被重写的方法名称、返回类型、参数列表完全相同。虚方法使用virtual关键字声明,抽象方法使用abstract关键字声明。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#关键字之重写override介绍 - Python技术站