强制基方法调用
Java 或 C# 中是否存在强制继承类调用基本实现的构造?您可以调用 super() 或 base() 但如果不调用它是否有可能引发编译时错误?那会很方便..
Is there a construct in Java or C# that forces inheriting classes to call the base implementation? You can call super() or base() but is it possible to have it throw a compile-time error if it isn't called? That would be very convenient..
--编辑--
我主要对重写方法感到好奇.
I am mainly curious about overriding methods.
推荐答案
没有也不应该这样做.
如果在基类中有这样的东西,我能想到的最接近的东西:
The closest thing I can think of off hand if something like having this in the base class:
public virtual void BeforeFoo(){}
public void Foo()
{
this.BeforeFoo();
//do some stuff
this.AfterFoo();
}
public virtual void AfterFoo(){}
并允许继承类覆盖 BeforeFoo 和/或 AfterFoo
And allow the inheriting class override BeforeFoo and/or AfterFoo
相关文章