我的语言是c ++,但我觉得答案应该是通用的
我可以选择两个选项,B:
1)让B继承自A,并制作一些虚拟的方法
2)在B中声明A的实例。
这个问题是关于什么是最佳的运行时间,因为两者都可以正常工作。
我认为选项1对于A和B的实例都不是最优的,因为在运行时有一层间接,因为从V表中选择了正确的函数。
这是对的吗?
答案 0 :(得分:3)
除非您的代码对性能至关重要,否则您不必担心运行时间接的差异。您应该在应用程序的上下文中使用有意义的选项。
对于选项1,B 是A。
对于选项2,B 一个A.
如果代码对性能至关重要,则应该实现并测试两个版本,如Almo所述。