继承成本Java(Android)

时间:2011-11-16 14:29:44

标签: java android python performance inheritance

我正在构建ORMLite的扩展程序以定位Android。

我想做什么

我想重现Doctrine和Symfony在PHP中使用模型实现的行为之一。 总之:

  • 从yml文件生成一堆带有访问器的BaseModel类 以及不会改变的事情。
  • 让真正的模型继承自此 BaseModel,以便即使从yml重新生成模型,用户更改也可能会持续存在。

我的问题

我想知道在Android上尝试实现这样一个目标是否有好处,或者这在性能方面是否存在风险(继承的大量使用)。

如果您认为它很笨拙,我如何允许用户更改.yml文件,生成模型并且不从头开始重建模型的自定义方面。 我知道这可以通过一些“技巧”来完成,但我真的不想重新发明轮子。

修改

抱歉,我忘了添加:我正在使用python 来执行此操作。

由于

1 个答案:

答案 0 :(得分:2)

这是正确的,也可能是唯一的Java方式。在Java中,除非你在所有地方使用final,否则所有调用都是虚拟的,但这意味着你甚至无法使用接口。因此,无论你做什么,大多数电话都可能是虚拟调度。继承不会导致任何其他重大惩罚。

此外,Android设备通常非常强大,几乎可以肯定不需要以牺牲可读性和可维护性为代价来实现微小的性能。事实上,大多数Android设备几乎和Web服务器一样强大,它们在速度慢得多的PHP中执行相同的操作,并且在Android设备服务的情况下仍能管理数千个用户。