3

在编写布尔 getter/setter 方法时,像这样编写它们似乎是标准的

void setValue(boolean value) { }

boolean getValue() { return true/false; }

但是,我看到了一些用法,其中指出 getter 方法应根据其用法适当命名。

例如,如果我的 getter 被调用,我正在设置/获取一个名为“启用”的布尔值:

getEnabled()

或者

isEnabled()

再说一次,例如我正在设置/获取一个名为“节点”的布尔值,如果我的 getter 被调用:

getNodes()

或者

hasNodes()

这只是个人喜好,还是选择一个特定的命名约定而不是另一个的好习惯?

4

4 回答 4

4

此答案假定问题与 Java 有关:

遵循约定总是更好。像 Spring 这样的一些框架与 Java Beans 约定紧密耦合。

于 2012-09-24T14:27:15.960 回答
1

在 C# 中,属性不是方法。好吧,它们是方法,但是是一种特殊类型的方法。

你声明一个这样的属性:

public bool Enabled
{
   get
   {
       // return your value
   }
   set
   {
      // assign your value
   }
}
于 2012-09-24T14:29:41.953 回答
0

在 Java 中:

所有的 getter 和 setter 必须至少有 4 个字符长并且有一个大写的第四个字母。

唯一的例外是booleanor的 getter,Boolean它可以是 3 个字母长,并且可以以is并且必须有一个大写字母作为第三个字符。

于 2012-09-24T14:29:55.113 回答
0

这就是我喜欢 C# 的(众多)原因之一

public bool Enabled
{
    get { return _enabledValue;}
    set { _enabledValue = value;}
}

拜访该物业是如此“自然”

myControl.Enabled = true;
...

if(myControl.Enabled == true)
于 2012-09-24T14:30:13.983 回答