我创建了一个抽象类,它只有一组纯虚方法.有3个不同的类具有这些方法的具体实现.
在编写了上述结构之后,我发现派生类中的一些方法具有相同的实现.所以,我将这些函数转移到我的基类的逻辑,并使它们成为虚拟而不是纯虚拟.现在,实现不需要在派生类中重复.这编译并执行正常.
我的基类是纯虚方法和虚方法的混合,它遵循这样的结构是一种很好的设计方法吗?
它绝对没问题,虽然似乎已经出现了一种模式,你可以把所有的,只有你的纯虚函数放在一个类中,被视为更多的接口.
然后,您将定义一个实现该接口的"公共"部分的类,并让您的3个类继承自该类.
随着时间的推移,似乎这适用于更具可扩展性和易于维护的代码.
出于兴趣,Java几乎强制使用这种模式.