我有两个班,Alpha
并Beta
与Beta
被从继承的类Alpha
。Alpha
类有一个名为 的方法Roger()
。我希望Beta
class 具有相同的Roger
功能,但我不想覆盖Alpha
. 我想要的是Roger
从Alpha
类中执行函数,然后在类中添加更多代码Beta
。
基本上,我想扩展该Roger
方法,而不是完全替换它。这在 C# 中可能吗?
例如:
Alpha
班级:
protected virtual void Roger()
{
Console.Write("123");
}
Run Code Online (Sandbox Code Playgroud)
Beta
班级:
protected something void Roger()
{
Console.Write("456");
}
Run Code Online (Sandbox Code Playgroud)
并Beta.Roger()
会打印“123456”
Swe*_*per 12
你仍然会使用override
关键字,但你也会base.Roger()
在做任何其他事情之前调用:
protected override void Roger()
{
base.Roger();
Console.Write("456");
}
Run Code Online (Sandbox Code Playgroud)
这相当于:
protected override void Roger()
{
Console.Write("123");
Console.Write("456");
}
Run Code Online (Sandbox Code Playgroud)