C#方法重写有什么用
时间: 2024-09-20 11:13:02 浏览: 49
C#中的方法重写是面向对象设计的关键特性之一,它允许你在派生类中提供对基类方法的不同实现。方法重写的用途主要有以下几点:
1. **代码复用与灵活性**:当你有一个通用的方法在基类中定义,但子类需要针对特定情况执行不同的操作时,可以通过重写提供定制行为[^1]。
2. **多态性体现**:调用一个派生类的对象上的重写方法会执行子类提供的版本,而不是基类的版本,体现了多态性[^2]。
3. **覆盖错误实现**:如果基类的方法有误,通过重写可以修正它,避免影响到依赖于该方法的其他代码。
如何重写方法呢?如你所提到的,关键在于`override`关键字。在派生类中声明想要重写的方法时,添加`override`关键字。例如:
```csharp
public class BaseClass
{
public virtual void MyMethod() // 声明为可重写的方法
{
Console.WriteLine("BaseClass.MyMethod");
}
}
public class DerivedClass : BaseClass
{
override public void MyMethod() // 重写父类方法
{
Console.WriteLine("DerivedClass.MyMethod"); // 子类实现自己的逻辑
}
}
```
当在`DerivedClass`实例上调用`MyMethod()`时,将执行子类的实现,显示"DerivedClass.MyMethod"。
阅读全文