黑马程序员技术交流社区
标题:
谁能详解一下get与set的用法?
[打印本页]
作者:
忘忧草
时间:
2012-4-24 23:23
标题:
谁能详解一下get与set的用法?
谁能详解一下get与set的用法?
作者:
王志龙
时间:
2012-4-25 00:01
get set用法中get是读取属性时进行的操作,set是设置属性时进行的操作。定义一个属性如果只有get,这个属性便是只读的 。同理set。
据上课老师讲的银行例子:
private m_money;
private class bank()
{
get
{
return m_money;
}
set
{
m_money=value;
}
}
m_money就像存取款一体机,你看不见里面有钱,但是你能set(存钱),用还能get(取钱)。m_money是一个私有字段是封装在类中的,类外程序是不允许访问的。而get set用法中,类的get和set是外部程序访问类内部属性的唯一方法,就像你去银行取钱,你并不是直接从金库里拿现金(哪怕你是去抢劫)而是银行的工作人员把钱拿给你(get set)
作者:
陈世伟
时间:
2012-4-25 00:42
本帖最后由 陈世伟 于 2012-4-25 00:54 编辑
get用于读取,set用于写入.可以通过get和set控制用户只能读,或只能写,或者让用户输入的内容合法
例如:
在一个类中
class person
{
int age;//我们不想让用户直接访问这个age,所以通过下面那个大写的Age把值传给小写的age,下面的意思是,如果用户输入的值>=0就把用户的值传给小age,如果<0就让age=0,这样就控制了用户只能输入>0的值,如果想让age只读就把set整个删掉,只保留get,如果想让age只能写,不能读,就把get整个删掉,只保留set
public int Age
{
get{
return age;
}
set{
if(value>=0)
{
age=value;
}
else
{
age=0
}
}
}
作者:
黄燕京
时间:
2012-4-26 21:28
如果在封装字段时只用到了get就只能读取而不能写入。
也就是get是用来读取字段中的值的,而Set是用来获取用户指定的值并保存的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2