我在看一个抽象类中的一些代码:
public virtual void CountX(){}
public virtual void DoCalculation() { ...code}
如果在派生类型中不强制重写空虚方法,为什么要在抽象类中声明空虚方法?
发布于 2011-04-04 16:38:46
如果它是强制覆盖的,并且没有默认逻辑可以在基类中编写,那么虚拟是错误的,方法应该是抽象的。如果默认操作是什么都不做,那么就像Adam提到的那样,在基类中使虚方法为空是完全有效的结构
发布于 2014-09-08 10:19:16
从设计的角度来看,这很糟糕,表明设计的实现处于不成熟的状态。如果方法不是派生特定基类的每个类都需要的,那么根据定义,它不属于基类。您通常会发现,此方法由基类的特定派生使用,并指示继承层次结构中的新接口或抽象层。
https://stackoverflow.com/questions/5536201
复制相似问题