Java 带有Setter或Boolean Getter的变量
假设我有一个名为isConnected的实例变量和一个名为checkConnection的方法。我可以选择: 实例变量Java 带有Setter或Boolean Getter的变量,java,c++,coding-style,Java,C++,Coding Style,假设我有一个名为isConnected的实例变量和一个名为checkConnection的方法。我可以选择: 实例变量isConnected和设置isConnected变量的方法void checkConnection() 或 只有布尔方法bool checkConnection() 我觉得拥有一个实例变量是没有意义的。每次要检查连接时,都必须先调用checkConnection(),然后再使用isConnected。为什么不使用布尔方法呢 这是一个语义问题,真的 抱歉,如果没有合适的类别来提出
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,然后用一个单独的方法来获取它们可能的返回值,这难道不是毫无意义的吗?”答案显然是“是的”。这意味着什么?哪一种是“方法”方法(假设两种方法都涉及方法)?哪一个是“更简单”的方法(这可能是一个意见问题——它们都很简单)?有效的评论,谢谢。更新。这是什么意思?哪一种是“方法”方法(假设两种方法都涉及方法)?哪一个是“更简单”的方法(这可能是一个意见问题——它们都很简单)?有效的评论,谢谢。更新。