c# – 抽象或虚拟方法?

在抽象课中推荐什么?

让虚方法返回null,或者有一个抽象方法?

让它们返回null是方便和容易的,因为我不必做任何继承自抽象类的事情.但是,如果出于目的,错误或设计的原因,返回null有点难以理解.

对此有明确的建议吗?

最佳答案
如果返回null是一个明智且理智的事情,作为默认行为(使用支持文档),那么也许虚拟是好的.同样,如果您可以创建合理的默认值,但只想提供可扩展性:虚拟.

如果(具体)类在没有非默认实现的情况下无法运行,那么将其设为抽象.这里的案例手册是Stream:没有一个理智的实现,字节来自哪里? (/去).

转载注明原文:c# – 抽象或虚拟方法? - 代码日志