gpt4 book ai didi

java - setter/getter 的正确命名约定

转载 作者:行者123 更新时间:2023-11-29 06:36:38 25 4
gpt4 key购买 nike

在使用 OOP 范式命名方法时,是否仅在返回成员变量时才在方法前加上“get”前缀?或者将“get”添加到名称中是否适合 OOP,即使它返回的是根据成员变量计算的值,而不是它自身的成员变量?

例如,这应该是正确的:

private int count = 0;    
public int getCount() {
return count;
}

这会违反命名约定吗:

public int getCountPlusOne() {
return count + 1;
}

对不起,我是一个完美主义者。

最佳答案

would it be OOP appropriate to add "get" into the name even if it is returns a value calculated from a member variable, but not the member variable it self?

Java 中 getter 和 setter 的命名不受任何“OOP 原则”的约束——它纯粹是 JavaBeans convention :

The class properties must be accessible using get, set, is (used for boolean properties instead of get), and other methods (so-called accessor methods and mutator methods) according to a standard naming convention. This allows easy automated inspection and updating of bean state within frameworks, many of which include custom editors for various types of properties. Setters can have one or more than one argument.

请注意约定如何故意将通过 getter 和 setter 访问的值称为“属性”,以将它们与字段区分开来。这背后的意图是涵盖计算和存储的属性。

这引出了您问题的答案:为计算属性的 getter 使用“get”前缀是完全合适的。

关于java - setter/getter 的正确命名约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19504210/

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