黑马程序员技术交流社区

标题: 属性与字段 [打印本页]

作者: 夏雪锐    时间: 2011-11-4 19:42
标题: 属性与字段
属性与字段有何区别?
作者: 陈涛    时间: 2011-11-4 21:08
本帖最后由 陈涛 于 2011-11-4 21:10 编辑

1.属性可以被其它类访问,而大部分字段不能直接访问。
2.属性可以对接收的数据范围作限定,而字段不能。(也就是增加了数据的安全性)
例如 验证一个人的年龄, 如果你传的是一个-1 如果用字段的话也就是返回-1, 如果用属性的话,就可以加以验证,
年龄肯定不可能是负数阿,  那不成怪物了么?
  1. int i; //字段   
  2. public int I //属性   
  3. {      
  4.   get { return i > 0 ? i : 0;
  5. }      
  6. set { i = value; }   
  7. }
复制代码
字段只有声明 赋值, 而属性可以有其他操作,就比如判断。
作者: 李荣壮    时间: 2011-11-4 23:08
属性可以设置成只读或只写,操作起来比字段方便,而且封装字段以后,可以提高安全性
作者: 郑文    时间: 2011-11-5 02:49
属性就是封装了字段,安全性比较高,可以提供数据验证等功能。写程序时一般是操作属性,很少有接操作字段的。
例如你要写一个与数据库实体层相关的类,该类对应着有数据库的字段,你不可能直接操作该类的字段进行赋值等操作,如果数据非法呢还能赋值吗? 而是用属性进行数据验证。提高了数据的安全性。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2