对于C#新手来说,我理解封装只是一种“保护数据”的方式。但是我仍然不清楚。我认为get和set访问器的重点是在这些方法中添加测试以检查参数是否符合某些条件,然后才允许外部函数获取和设置任何内容,就像这样:
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却没有任何内容,这不就等于把你的私有后备字段声明为公共的吗?如果你可以直接从外部获取和设置它,为什么不直接这样做呢?