我在梅耶斯书中发现了这两个术语,但有什么区别?
解决方法
接口继承是公共继承,而实现继承是私有继承.
如果类B公开从A继承,B是A:它继承了A的整个接口,并且一个(引用/指向一个)B对象可以被自动上传到A,并且在A的对象被预期的地方使用.但是,如果B私有地从A继承,则B是A的实现方法,只有A的实现是继承的,而不是它的接口.因此(对象的引用/指针)B对象不能在需要A对象的地方使用.
更新
为了反映@ Michal的评论,这里有一些链接(主要基于googling “c++ implementation inheritance”),以演示这些术语在C语境中的常见用法:
> C++ Design/Coding tips – Part 7
> Interfaces
> Uses and Abuses of Inheritance,Part 1