override 和 overload
时间: 2023-12-08 17:05:31 浏览: 82
`override` 和 `overload` 是两个不同的概念。
`override` 是在子类中重写父类中已有的方法,以实现更具体的功能。在子类中,使用 `override` 关键字来标识该方法是重写父类中的方法。被重写的方法必须具有相同的名称、参数列表和返回类型。例如:
```
class Animal {
public virtual void MakeSound() {
Console.WriteLine("Animal makes a sound");
}
}
class Cat : Animal {
public override void MakeSound() {
Console.WriteLine("Cat makes a meow");
}
}
```
在上面的例子中,`Cat` 类重写了 `Animal` 类中的 `MakeSound` 方法。
`overload` 是指在同一个类中定义多个具有相同名称但参数列表不同的方法。这样做的目的是为了提高代码的可读性和可重用性。例如:
```
class Calculator {
public int Add(int a, int b) {
return a + b;
}
public int Add(int a, int b, int c) {
return a + b + c;
}
}
```
在上面的例子中,`Calculator` 类定义了两个名为 `Add` 的方法,但参数列表不同。这样做的目的是为了让用户可以根据需要调用适当的方法。
阅读全文