黑马程序员技术交流社区
标题:
面向对象中,属性中get和set该怎么理解?
[打印本页]
作者:
赵贺景
时间:
2014-4-29 21:47
标题:
面向对象中,属性中get和set该怎么理解?
本帖最后由 赵贺景 于 2014-4-29 22:40 编辑
public int Age
{
get
{
value=age;
}
set
{
if(age>0)
{
Age=value;
}
else
{
value=0;
}
}
}
怎么样比较容易理解 读取 和赋值的情况?
作者:
许庭洲
时间:
2014-4-29 21:58
1. 只有set访问器,表明属性的值只能进行设置而不能读出;
2. 只有get访问器,表明属性的值是只读的,不能改写;
3. 同时具有set访问器和get访问器,表明属性的值的读写都是允许的。属性看似字段,不是字段,可以进行非法值控制,可以设置只读。
作者:
Darkhorse′Xa
时间:
2014-4-29 22:06
属性就是对字段的封装,因为我们如果直接对字段赋值,那么任何非法值都是可以输入的.
举个例子:如age,年龄是不能为负数的,但是仍然可以去age字段赋值.那么我们就可以使用属性,在set访问当中筛选非法的数据,然后将正确的数值赋值给字段.
其实get和set两个访问器就是两个方法,set方法是对字段赋值,get方法是返回字段的值给调用者.
希望对你有帮助:
<p> private string name;
public void SetName(string value)
{
name = value;
}
public string GetName()
{
return name;
}</p>
复制代码
作者:
赵贺景
时间:
2014-4-29 22:17
受教了,
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2