【发布时间】:2013-10-24 14:48:03
【问题描述】:
我们看看下面的类结构:
abstract class Base {
public abstract void DoSth();
}
class Derived1 : Base {
public override void DoSth() {
}
}
这些是某些层次结构的基类。现在,假设我们想要提供另一个派生自Derived1 的类(我们称之为Derived2),它不应该使用Default1 提供的DoSth 的默认实现。例如,Derived1 涵盖了 98% 的情况,但在剩下的 2% 中,这种解决方案是不可接受的或危险的。
最好的解决方案是通知派生自 Derived2 的人,他应该在编译期间实现 DoSth。该怎么做?
【问题讨论】:
标签: c# methods virtual abstract class-hierarchy