get是读取属性时进行的操作,set是设置属性时进行的操作。假设类是一个银行,既能存钱也能取钱.
private m_money;
private class bank(){
get{
return m_money ;
}
set{
m_money = value ;//asp.net中set进去的值为value
}
}
m_money 就像银行里的自动存取款机,你看不见里面的money,但你能用set(存钱),用get(取钱)。m_money的访问权限必须用get/set方法,就像你去银行取钱,你不能直接从银行的保险柜里拿到钱,而是银行营业人员把钱取出来给你的.
同时你还可以在set和get中对用户传递来的值进行一些验证工作,以确保你的字段将含有正确的值。
比如
private int a;
public int Index{
get{
return a;
}
set{
if (value>0)
a=value;
else
a=0;
}
}
可以看出,get\set有一种函数的特征。
一是隐藏组件或类内部的真实成员。
二是用来建立约束的。
三是用来响应属性变化事件,当属性变化时做某事,只要写在SET 方法里就行了。