封装与继承

时间:2015-04-17 19:43:49

标签: inheritance encapsulation

我的语言是c ++,但我觉得答案应该是通用的

我可以选择两个选项,B:

1)让B继承自A,并制作一些虚拟的方法

2)在B中声明A的实例。

这个问题是关于什么是最佳的运行时间,因为两者都可以正常工作。

我认为选项1对于A和B的实例都不是最优的,因为在运行时有一层间接,因为从V表中选择了正确的函数。

这是对的吗?

1 个答案:

答案 0 :(得分:3)

除非您的代码对性能至关重要,否则您不必担心运行时间接的差异​​。您应该在应用程序的上下文中使用有意义的选项。

对于选项1,B 是A。

对于选项2,B 一个A.

如果代码对性能至关重要,则应该实现并测试两个版本,如Almo所述。