gpt4 book ai didi

java - 继承上的类同义词 : Performance?

转载 作者:行者123 更新时间:2023-12-01 23:54:56 24 4
gpt4 key购买 nike

我有一个名称很长的类,例如DatabaseHelper
现在我想缩短这个名字。

1)我可以重命名该类,然后我就会得到我想要的。

2)我可以创建一个同义词类:class Db extends DatabaseHelper:
这里的 body 是空的。

这里的质量标准的原因,编码风格的问题

class DatabaseHelper
{
//some methods
}

现在是同义词类

class Db extends DatabaseHelper
{
//empty body
}

所以我的问题是:如果我像 2) 那样做,就会出现性能问题,
或者在性能维度上 1) 等于 2)?

最佳答案

某些地方的性能可能会变差,因为类层次结构分析会发现有两个可能的类并放弃。还有其他优化,所有的东西都太复杂了,但如果你想理解它,请阅读此 lengthy explanation 。如果没有,请阅读其中的一部分,看看它会变得多么复杂。

鉴于您正在处理数据库,即毫秒级的操作,您将无法测量纳秒级的性能损失。所以忘记它吧。

请注意,DatabaseHelper 绝不是一个长名称。它很短而且没什么帮助(它可能会更清楚)。请注意,Db 可能是 Database 的一个不错的快捷方式,但不适用于 DatabaseHelperDbH 不行(几乎每个人都能猜到“Db”的意思,但有了“DbH”,几乎没有人能猜到;无论如何,不​​需要猜的名字更好)。

请注意,Java 中没有类型同义词,也不可能有。通过子类化,您将获得一个只能在一个方向上互操作的新类。 所以不要这样做!

另请注意,Java 中的性能比预期复杂得多。选择好的算法和数据结构很重要,但大多数细节都是无关紧要的(这个网站充满了诸如“A 比 B 快吗”之类的问题,典型的正确答案是“算了”)。

关于java - 继承上的类同义词 : Performance?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58206109/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com