Java(Android)中的继承成本

1 投票
1 回答
1010 浏览
提问于 2025-04-17 06:26

我正在为Android开发一个ORMLite的扩展。

我想做的事情

我想实现一些在PHP中使用Doctrine和Symfony时的模型行为。简单来说:

  • 从一个yml文件生成一堆基础模型类,这些类里有一些访问器和不会改变的内容。
  • 让真实的模型继承这个基础模型,这样用户的修改就能保留,即使他们从yml重新生成模型。

我的问题

我在想,在Android上实现这样的目标是否可行,或者这样做会在性能上有风险(因为大量使用继承)。

如果你觉得这样做不太好,我该如何让用户修改.yml文件,生成模型,而不需要从头开始重建他们自定义的模型部分。我知道可以通过一些“技巧”来实现,但我真的不想重新发明轮子。

编辑

抱歉,我忘了补充:我正在使用Python来做这个。

谢谢

1 个回答

2

这就是正确的,也是可能是唯一的Java做法。在Java中,所有的调用都是虚拟的,除非你到处使用final,但那样的话你就连接口都不能用了。所以无论你怎么做,大多数调用都可能是虚拟分发。继承并不会带来其他显著的负担。

而且,安卓设备通常都很强大,所以为了提高性能而牺牲代码的可读性和可维护性几乎是没必要的。实际上,大多数安卓设备的性能几乎和那些用慢速PHP做同样事情的网页服务器一样强大,而网页服务器还能同时处理成千上万的用户,而安卓设备通常只服务一个用户。

撰写回答