我有一段代码:
public class MyClass
{
private string _myProperty;
public string MyProperty
{
get
{
return _myProperty;
}
set
{
_myProperty = value;
}
}
}
这里的重点是什么?我本可以将 _myProperty
字符串声明为公共,任何我的类对象都能够直接访问并获取或设置其值。
相反,我们将 _myProperty
设置为私有,并使用 get 和 set 来访问它们,使用类对象。
无论哪种情况,类对象都能够访问它们,结果始终相同。
那么为什么要使用这种方法?仅仅因为我可以在 setter 中实现一些约束条件吗?
除此之外,将成员变量设置为公开,会导致什么问题?在这个例子中,我可以将 _myProperty
公开,而不是通过将其设置为私有来限制仅在该类中使用,正如面向对象编程所建议的那样。