class MyClass { int integer; public int Integer { get {return integer;} set {integer=value;} } } 属性提供了只读(get),只写(set),读写(get和 set)三种接口操作 http://kb.cnblogs.com/page/50502/
在百度早到好的答案,感谢~ http://zhidao.baidu.com/question/153570299.html?si=10 我帖出来:一般面向对象编程语言都要求成员变量不能直接暴露给外部访问,如下: public class A { public int Age; //这是不好的,待会有程序员可能把-1赋给Age } 为了防止乱赋值,C#设计了一个属性机制,要求把成员变量设为私有,在通过属性来控制成员变量的读写,如下: public class B { private int age; //私有成员变量 public int Age //age的属性 { get{ return age; } //读取器 set{ //写入器 if(value>0) age = value; //value是准备写入的值 } } } 这样Age就像保安一样,挡在age的前面。访问age的时候需要通过Age许可,如下: B b = new B(); b.Age = -1; //这是不行的,-1被带入value,value<0,判断不成立 b.Age = 10; //这是可行的
{
int integer;
public int Integer
{
get {return integer;}
set {integer=value;}
}
} 属性提供了只读(get),只写(set),读写(get和 set)三种接口操作
http://kb.cnblogs.com/page/50502/
get相当于_Get()方法,用来取属性值的
set相当于_Set(Value)方法,用来设置属性值
set就是设置那个值等于什么。
http://zhidao.baidu.com/question/153570299.html?si=10
我帖出来:一般面向对象编程语言都要求成员变量不能直接暴露给外部访问,如下:
public class A
{
public int Age; //这是不好的,待会有程序员可能把-1赋给Age
}
为了防止乱赋值,C#设计了一个属性机制,要求把成员变量设为私有,在通过属性来控制成员变量的读写,如下:
public class B
{
private int age; //私有成员变量
public int Age //age的属性
{
get{ return age; } //读取器
set{ //写入器
if(value>0)
age = value; //value是准备写入的值
}
}
}
这样Age就像保安一样,挡在age的前面。访问age的时候需要通过Age许可,如下:
B b = new B();
b.Age = -1; //这是不行的,-1被带入value,value<0,判断不成立
b.Age = 10; //这是可行的
我说通俗点
SET 往里面放 写
GET 读