具有 Setter 或布尔值 Getter 的变量
Variable with Setter or Boolean Getter
假设我有一个名为 isConnected 的实例变量和一个名为 checkConnection 的方法。我可以有:
实例变量 isConnected
和设置 isConnected
变量的方法 void checkConnection()
。
或
只有一个布尔方法bool checkConnection()
。
我觉得有一个实例变量是没有意义的。每次您想检查连接时,您都必须在使用 isConnected
之前调用 checkConnection()
。为什么不只使用布尔方法?
确实是语义问题。
抱歉,如果没有合适的类别来提出这个问题。
在单线程系统中,我更喜欢第二种方法,即不包含 isConnected
变量的方法。
在多线程系统(包括分布式系统)中,我更喜欢第一种方法,即 isConnected
和 bool checkConnection()
的方法。您可以同步访问变量,以及任何关联的逻辑(或关键部分)。例如,您可以使用方法实现 Test and Set。
假设我有一个名为 isConnected 的实例变量和一个名为 checkConnection 的方法。我可以有:
实例变量 isConnected
和设置 isConnected
变量的方法 void checkConnection()
。
或
只有一个布尔方法bool checkConnection()
。
我觉得有一个实例变量是没有意义的。每次您想检查连接时,您都必须在使用 isConnected
之前调用 checkConnection()
。为什么不只使用布尔方法?
确实是语义问题。
抱歉,如果没有合适的类别来提出这个问题。
在单线程系统中,我更喜欢第二种方法,即不包含 isConnected
变量的方法。
在多线程系统(包括分布式系统)中,我更喜欢第一种方法,即 isConnected
和 bool checkConnection()
的方法。您可以同步访问变量,以及任何关联的逻辑(或关键部分)。例如,您可以使用方法实现 Test and Set。