如何继承继承的方法而不是覆盖继承的方法?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何继承继承的方法而不是覆盖继承的方法?相关的知识,希望对你有一定的参考价值。
我有两个类,Alpha
和Beta
,其中Beta
是从Alpha
继承的类。 Alpha
类具有一个名为Roger()
的方法。我希望Beta
类具有相同的Roger
函数,但我不想覆盖Alpha
中的所有代码。我想要从Roger
类执行Alpha
函数,然后在Beta
类中添加更多代码。
基本上,我想扩展Roger
方法,而不是完全替换它。在C#中可以吗?
例如:
Alpha
类:
protected virtual void Roger()
Console.Write("123");
Beta
类:
protected something void Roger()
Console.Write("456");
[Beta.Roger()
将打印“ 123456”
答案
您仍将使用override
关键字,但是在执行其他操作之前,您也将调用base.Roger()
:
protected override void Roger()
base.Roger();
Console.Write("456");
相当于:
protected override void Roger()
Console.Write("123");
Console.Write("456");
以上是关于如何继承继承的方法而不是覆盖继承的方法?的主要内容,如果未能解决你的问题,请参考以下文章