你可以允许继承类但不覆盖方法 [英] can you allow class to be inherited but method not overridden
本文介绍了你可以允许继承类但不覆盖方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
你可以允许继承类但是不覆盖的方法
can you allow class to be inherited but method not overridden
class abc
{
public virtual void a()
{
}
}
class pqr:abc
{
public override void a()
{
}
}
如何保护a()通过子类重写
how to protect a() to override by child class
推荐答案
您可以使用密封方法。
http://msdn.microsoft.com/en-us/library/aa645769%28v = vs.71%29.aspx [ ^ ]
JAFC
You can use sealed methods.
http://msdn.microsoft.com/en-us/library/aa645769%28v=vs.71%29.aspx[^]
JAFC
使用
密封修饰符 [ ^ ]
您的问题的第二版与第一版完全不同。
我是建议您阅读:继承和派生类 [< a href =http://msdn.microsoft.com/en-us/library/ms228387%28v=vs.90%29.aspxtarget =_ blanktitle =New Window> ^ ] 。
The second edition of your question totally differs from first one.
I'd suggest you to read this: Inheritance and Derived Classes[^].
Quote:
要覆盖的基本方法必须声明为虚拟,抽象或覆盖:无法以这种方式覆盖非虚拟或静态方法。
The base method, which is to be overridden, must be declared as virtual, abstract, or override: it is not possible to override a non-virtual or static method in this way.
更多信息:
10.2.5静态和实例成员 [ ^ ]
这篇关于你可以允许继承类但不覆盖方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文