属性与字段的区别

属性是类提供给外部调用时用,的可以使用 对象.属性 设置或读取 一个值 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);把所有的字段都设置为私有字段,如果要暴露它们,则把它们封装成属性,这也是微软推荐的方式。

 

posted @ 2014-06-22 22:52  AaronZcw  阅读(596)  评论(1编辑  收藏  举报