【发布时间】:2012-12-21 12:24:35
【问题描述】:
我想在抽象类中用确切的名字初始化虚方法。
在类中,这是我可以覆盖的继承者覆盖方法:
- 基方法的返回类型
- 方法的参数
为了告诉你,我真正想做的是这样的:
abstract class A
{
public virtual void Func1() { }
}
class B : A
{
override string Func1(int a, int b)
{
return (a + b).ToString();
}
}
我知道,C# 需要像在基类中一样使用返回类型/参数,但在这种情况下可能有关键字 new 的一些提示?
【问题讨论】:
-
是的,有一个关键字
new,但它不是覆盖,它只是隐藏了一个成员。 -
B.Func1 不是覆盖而是重载。所以你没有覆盖
-
您不能使用 new、static 或 virtual 修饰符来修改覆盖方法。
-
那么继承有什么意义呢?
-
@四十二多态点
标签: c# polymorphism virtual overriding