c#中override的用法
时间: 2023-11-25 11:05:58 浏览: 308
在C#中,`override`关键字用于表示一个方法覆盖了父类或者接口中的同名方法。被覆盖的方法必须是虚方法(使用`virtual`关键字修饰)或抽象方法(使用`abstract`关键字修饰)。
使用`override`关键字的语法如下:
```csharp
public override 返回类型 方法名(参数列表)
{
// 方法体
}
```
在子类中重写父类的虚方法或抽象方法时,需要保证方法签名(即方法名和参数列表)完全一致,否则编译器会报错。
例如,假设我们有一个父类`Animal`,其中有一个虚方法`MakeSound`:
```csharp
public class Animal
{
public virtual void MakeSound()
{
Console.WriteLine("Animal is making sound");
}
}
```
现在我们定义一个子类`Cat`,并重写`MakeSound`方法:
```csharp
public class Cat : Animal
{
public override void MakeSound()
{
Console.WriteLine("Meow");
}
}
```
在这个例子中,`Cat`类重写了`Animal`类的`MakeSound`方法,并且使用`override`关键字表示这个方法是对父类方法的覆盖。当我们调用`Cat`类的`MakeSound`方法时,输出的结果是`Meow`,而不是`Animal is making sound`。
阅读全文