【发布时间】:2019-12-31 09:06:39
【问题描述】:
我有两个类,Alpha 和Beta,其中Beta 是从Alpha 继承的类。 Alpha 类有一个名为 Roger() 的方法。我希望Beta 类具有相同的Roger 函数,但我不想覆盖Alpha 中的所有代码。我想要的是从Alpha 类执行Roger 函数,然后在Beta 类中添加更多代码。
基本上,我想扩展Roger 方法,而不是完全替换它。这在 C# 中可行吗?
例如:
Alpha类:
protected virtual void Roger()
{
Console.Write("123");
}
Beta类:
protected something void Roger()
{
Console.Write("456");
}
而Beta.Roger() 将打印“123456”
【问题讨论】:
-
你可以调用
base.Roger();,它会打印123,然后调用`BetaClass.Roger();`它会打印456 -
extend在这里没有意义。你问的是调用基本方法