【发布时间】:2013-07-16 02:55:26
【问题描述】:
C# 新手,我知道封装只是“保护数据”的一种方式。但我仍然不清楚。我认为 get 和 set 访问器的 point 是在这些方法中添加测试,以检查参数是否符合特定标准,然后允许外部函数获取和设置任何内容,如下所示:
private string myName;
public string MyName;// this is a property, speical to c#, which sets the backing field.
private string myName = "mary";// the backing field.
public string MyName // this is a property, which sets/gets the backing field.
{
get
{
return myName;
}
set
{
if (value != "Silly Woman"){
myName = value;
}
}
}
但我在 c# 中看到的代码看起来像这样:
public string MyName { get; set; }
为什么你只需要一个 get 和 set,里面什么都没有,这不就和把你的私有支持字段声明为 public 一样吗?如果你可以从外部获取和设置它,你为什么不直接做呢?
【问题讨论】:
标签: c# get set encapsulation