C#字段与属性

字段可以有静态的,但是属性必须是实例的
其实有些属性能实现的功能,字段也能实现,但是不鼓励用字段来实现,因为OOP和编程的一个原则就是数据封装,意味着我们不应该将字段的类型以公开的方式提供给外界。
还有一些原因,例如我们可能希望访问一个字段的同时执行一些额外的操作,或者缓存某个数值,或者延迟创建某个内部对象。
我们也可能希望对字段的访问是线程安全的。或者字段可能只是一个逻辑表示,其真正的值并不是以字节的形式存放在内存中,而是通过某种算法计算得来的
所以建议将所有的字段访问限制为私有

举个例子:

1 private int id;//字段
2 
3   public int ID//属性
4   {
5   get { return id; }
6   set { id = value; }
7   }

 

 

posted @ 2012-05-03 19:51  王帅901  阅读(418)  评论(0编辑  收藏  举报