【发布时间】:2012-11-22 14:13:39
【问题描述】:
对于特定的上下文,我用 C# 开发,但我想这可以应用于其他语言/框架。
我了解使用私有 getter 和公共 setter 创建属性是完全合法的:
public int MyInt { private get; set; }
我无法弄清楚为什么要允许客户端设置属性而无法获取其当前值。在什么情况下可能需要这种行为?
【问题讨论】:
标签: oop properties access-modifiers
对于特定的上下文,我用 C# 开发,但我想这可以应用于其他语言/框架。
我了解使用私有 getter 和公共 setter 创建属性是完全合法的:
public int MyInt { private get; set; }
我无法弄清楚为什么要允许客户端设置属性而无法获取其当前值。在什么情况下可能需要这种行为?
【问题讨论】:
标签: oop properties access-modifiers
改变值的不是“客户端”,而是程序的其他部分。
您可能希望其他对象能够通过该属性更改对象的状态。
对象的其他部分不关心该对象的状态,但它只保留用于内部逻辑。
这完全取决于您的应用程序的情况和结构。
【讨论】: