在我所有的研究中,我了解到,当我想让用户访问内部属性时,我不应该直接访问该属性,而是通过 get/set 方法进行访问,例如:
class myClass
{
private int x;
public void SetX (int x)
{
this.x = x;
}
public int GetX ()
{
return this.x
}
}
因为它提供了额外的好处,允许程序员更轻松地完全更改引擎而不影响用户,更容易调试并提供更多用于检查输入有效性的选项。
然而,自从我开始学习和编写 C# 以来,我注意到大多数语言“原生”的类都暴露了它们的属性,例如,设置/获取矩形 ( System.Drawing.Rectangle
) 的位置或大小,您可以简单地访问直接X
, Y
,Width
和Height
属性。
我看到公开属性的唯一好处是代码更简单一些。暴露属性还有其他好处吗?
我什么时候应该公开属性,什么时候不应该?