带有Setter或Boolean Getter的变量

Variable with Setter or Boolean Getter

本文关键字:变量 Getter Boolean Setter 带有      更新时间:2023-10-16

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

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

只有一个布尔方法bool checkConnection()

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

实际上,这是一个语义问题。

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

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

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