关于属性和公有字段的区别:
公有字段可以被自由无限制的访问。如果属性写成:
public int A {get;set;}
那么和公有字段没有区别,用法也是一样的。但是属性的用法可以限制字段。比如:
int _age;
public int Age
{
get{return _age;}
set
{
if(value>0&&value<150)// 限制用户输入一些稀奇古怪的年龄充数
{
_age=value;
}
}
}
属性的意义:
属性反应了面向对象的编程思想,即不能直接操作类的字段。属性隔离了字段,而且能对要赋值的字段进行监测,合乎要求的才会被允许。
属性可以保证安全,当不在本类中使用时可以保证使用属性名可以避免用字段的名字。
属性的set和get函数可以限制字段的一些功能,以达到某种目的。
属性没有存储数据的功能,数据都存在字段中,所以只有修改字段的数据才能更改数据,修改属性的值没用。