gpt4 book ai didi

java - 根据命名约定,Java 中的 getter 必须始终只返回字段值吗?

转载 作者:行者123 更新时间:2023-11-30 06:04:20 24 4
gpt4 key购买 nike

getXXX用作XXX的 setter/getter 。例如

class Foo {

private String XXX;

public String getXXX() {
return XXX;
}
}

所以,很清楚,没有任何疑问。现在让我们考虑以下情况:

class Foo {

public String getXXX() {
String XXX;
//some calculations, resolvings etc
return XXX;
}
}

在这种情况下我可以将我的方法命名为 getXXX根据命名约定?或者换句话说,getXXX 吗?假设有XXX类中的字段,我们希望根据命名约定返回该字段值?

最佳答案

当我编写一个返回某些内容并且不是愚蠢的 getter 的方法时,我经常在使用 get 前缀之前思考,以避免给类客户端带来该方法是愚蠢的 getter 的感觉。例如,假设它进行相对昂贵的计算,诸如 getFoo() 之类的名称可能会产生误导。

通常,如果我找到比 get 更好的前缀,我就会使用它。例如,有时 find()compute() 更有意义。
但由于其他前缀不匹配,我并没有尝试太聪明,而是保留了 get
此外,为了更清楚起见,您应该使用 javadoc 来指定契约和方法的意图(如果它很重要)并且可以使 API 对类的客户端更加友好。

关于java - 根据命名约定,Java 中的 getter 必须始终只返回字段值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49749304/

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