属性与字段的区别
属性是类提供给外部调用时用,的可以使用 对象.属性 设置或读取 一个值 get{reture xxx;}表示可读 set{xxx = value;}表示可写
字段就是类内部用的,用来存储数据
private 字段;
public 属性;
通过属性访问字段
讲概念可能不好讲,下面来看一个例子吧!(最简单的)
class Program {
private int field1; //这个field1就是字段 public int Field1 //这个Fileds1就是属性
{
get{return field1;}
set{field1=value;}
}
}//因为字段的访问修饰符为private外部不能访问它,但可以定义属性为public来访问。希望对你有帮助哦。
由于属性的实质是方法(get或set方法)
如果满足下面几个条件,那么我们便可以大胆地使用公共字段:
1. 允许自由读写;
2. 取值范围只受数据类型约束而无其他任何特定限制;
3. 值的变动不需要引发类中其它任何成员的相应变化;
属性的使用条件则恰好跟变量相反,只要满足下面任何一个条件,就应该使用属性:
1. 要求字段只能读或者只能写;
2. 需要限制字段的取值范围;
3. 在改变一个字段的值的时候希望改变对象的其它一些状态;
总结:虽然在实际项目的开发过程中,公共字段和属性在合适的条件下都可以使用,但是我们应该尽可能的使用属性(property),而不是数据成员(field);把所有的字段都设置为私有字段,如果要暴露它们,则把它们封装成属性,这也是微软推荐的方式。