Java 带有Setter或Boolean Getter的变量

Java 带有Setter或Boolean Getter的变量,java,c++,coding-style,Java,C++,Coding Style,假设我有一个名为isConnected的实例变量和一个名为checkConnection的方法。我可以选择: 实例变量isConnected和设置isConnected变量的方法void checkConnection() 或 只有布尔方法bool checkConnection() 我觉得拥有一个实例变量是没有意义的。每次要检查连接时,都必须先调用checkConnection(),然后再使用isConnected。为什么不使用布尔方法呢 这是一个语义问题,真的 抱歉,如果没有合适的类别来提出

假设我有一个名为isConnected的实例变量和一个名为checkConnection的方法。我可以选择:

实例变量
isConnected
和设置
isConnected
变量的方法
void checkConnection()

只有布尔方法
bool checkConnection()

我觉得拥有一个实例变量是没有意义的。每次要检查连接时,都必须先调用
checkConnection()
,然后再使用
isConnected
。为什么不使用布尔方法呢

这是一个语义问题,真的


抱歉,如果没有合适的类别来提出这个问题。

在单线程系统中,我更喜欢第二种方法,即不包括
已连接的
变量的方法


在多线程系统(包括分布式系统)中,我更喜欢第一种方法,即使用
isConnected
bool checkConnection()
的方法。您可以同步访问变量以及任何相关逻辑(或关键部分)。例如,您可以使用方法实现。

在单线程系统中,我更喜欢第二种方法,即不包括
已连接的
变量的方法


在多线程系统(包括分布式系统)中,我更喜欢第一种方法,即使用
isConnected
bool checkConnection()
的方法。您可以同步访问变量以及任何相关逻辑(或关键部分)。例如,您可以使用一个方法来实现。

@RajnikantPatel您读过这个问题吗?是的,(在这里描述的情况下)这个变量是不必要的@Toni_出神的,在您的案例中我们不需要实例变量。@deviantfan我读过这个问题,我同意Rajnikant的观点。没有看到全班同学,就无法给出连贯的答案。在某些情况下,实例变量可能有用,但在某些情况下可能不有用。我们需要看到全班同学来决定哪一个。这个问题很难回答。OP提出了两个选项,但没有说明他们是如何提出这些选项的(具体要求是什么,预期的权衡是什么,等等);然后假设其中一个选项是没有意义的。关于实例变量方法,我们只知道OP觉得它毫无意义,然后我们被问到它是否毫无意义。这个问题可以归结为“总是让方法返回void,然后用一个单独的方法来获取它们可能的返回值,这难道不是毫无意义的吗?”答案显然是“是的”。@RajnikantPatel你读过这个问题吗?是的,(在这里描述的情况下)这个变量是不必要的@Toni_着迷,在您的案例中,我们不需要实例变量。@deviantfan我确实读过这个问题,我同意Rajnikant的观点。没有看到全班同学,就无法给出连贯的答案。在某些情况下,实例变量可能有用,但在某些情况下可能不有用。我们需要看到全班同学来决定哪一个。这个问题很难回答。OP提出了两个选项,但没有说明他们是如何提出这些选项的(具体要求是什么,预期的权衡是什么,等等);然后假设其中一个选项是没有意义的。关于实例变量方法,我们只知道OP觉得它毫无意义,然后我们被问到它是否毫无意义。这个问题可以归结为“总是让方法返回void,然后用一个单独的方法来获取它们可能的返回值,这难道不是毫无意义的吗?”答案显然是“是的”。这意味着什么?哪一种是“方法”方法(假设两种方法都涉及方法)?哪一个是“更简单”的方法(这可能是一个意见问题——它们都很简单)?有效的评论,谢谢。更新。这是什么意思?哪一种是“方法”方法(假设两种方法都涉及方法)?哪一个是“更简单”的方法(这可能是一个意见问题——它们都很简单)?有效的评论,谢谢。更新。