|
|
1
2
如果 您将其称为一个接口(即,通过使用命名约定“ifoo”,您似乎就是这样的接口),那么它应该是一个纯接口(没有实现)。 如果它只是一个抽象类,那么纯虚拟方法和实现方法的混合是完全合理的。 |
|
|
2
9
当然。这就是如何 template method pattern 工作(尽管这不一定实现一个接口)-它是完全可以接受的,而且通常是一个好主意。 爪哇 AbstractList 类就是一个很好的例子。
编辑:很抱歉之前没有回复。你的
现在我同意Drpizza的观点——如果您将某个东西称为接口,那么它实际上不应该有任何实现。抽象基类可以有非抽象方法(根据您的问题标题),但我不认为“抽象基类”和“接口类”是等效的。这可能是我的C语言和Java背景,在这里你可以声明类型。 作为 一个接口-但不能提供任何实现。 |
|
|
3
1
是的,当然。这是使用抽象类而不是接口的原因之一。 |
|
|
4
1
我一直认为抽象类的实际用途是:实现一些对所有子代通用的基本行为,但使派生类特有的部分抽象化。 |
|
|
5
0
对。在抽象基类中实现方法(虚方法或非虚方法)是非常好的,而且通常是可取的。如果你真的想要一个接口,最好使用你的第二个结构,这样读者就可以清楚地使用它,但是两者都是完全合法的C++。如果存在实现,我就不会使用“i”指示符。 |
|
6
0
我认为没有理由不在抽象类中进行一些实现。 |
|
AstralHex · 矩阵乘法代码工作不正常 1 年前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |