黑马程序员技术交流社区
标题:
属性与字段
[打印本页]
作者:
夏雪锐
时间:
2011-11-4 19:42
标题:
属性与字段
属性与字段有何区别?
作者:
陈涛
时间:
2011-11-4 21:08
本帖最后由 陈涛 于 2011-11-4 21:10 编辑
1.属性可以被其它类访问,而大部分字段不能直接访问。
2.属性可以对接收的数据范围作限定,而字段不能。(也就是增加了数据的安全性)
例如 验证一个人的年龄, 如果你传的是一个-1 如果用字段的话也就是返回-1, 如果用属性的话,就可以加以验证,
年龄肯定不可能是负数阿, 那不成怪物了么?
int i; //字段
public int I //属性
{
get { return i > 0 ? i : 0;
}
set { i = value; }
}
复制代码
字段只有声明 赋值, 而属性可以有其他操作,就比如判断。
作者:
李荣壮
时间:
2011-11-4 23:08
属性可以设置成只读或只写,操作起来比字段方便,而且封装字段以后,可以提高安全性
作者:
郑文
时间:
2011-11-5 02:49
属性就是封装了字段,安全性比较高,可以提供数据验证等功能。写程序时一般是操作属性,很少有接操作字段的。
例如你要写一个与数据库实体层相关的类,该类对应着有数据库的字段,你不可能直接操作该类的字段进行赋值等操作,如果数据非法呢还能赋值吗? 而是用属性进行数据验证。提高了数据的安全性。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2