1.private string _name;这个主要用来内部限制。
如:1楼的回答,他限制了_name的范围。属性的存在就是保证数据的安全。避免非法,不合理
的数据输入
2.public string Name;这个是用来被外部调用,这点就考虑到程序的安全性,我自己用_name为
Name赋值,使得外部访问的Name是我想给别人访问的东西,不想被访问的,通过_name的设置
不给别人访问。
可以封装属性,这样别人就不能随意给他赋值;
pulic string Name
{
get {return _name;}
set {
if(_name>1&&_name<5)
{
_name=value;
}
}
}
这样_name这个属性就只能让别人赋长度为2到4的值给他
这个理解是错的,属性和字段有区别的。属性你可以很好的控制这个字段的值,你可以让它可写也可以让它可读。
set {
if(_name>1&&_name<5)
{
_name=value;
}
else
{
//你要提示的错误!
}
}
你也可以限制它的数据是否满足你的条件,假如满足的话返回这个值,不满足就执行else
1楼正解,做为属性,你可以给它做限制,比如只读,只写,读写.或范围限制.
楼上的都说了,属性为字段提供保护