1.文字说明
属性结合了字段和方法的多个方面。
对于对象的用户,属性显示为字段,访问该属性需要完全相同的语法。
对于类的实现者,属性是一个或两个代码块,表示一个 get 访问器和/或一个 set 访问器。
当读取属性时,执行 get 访问器的代码块;当向属性分配一个新值时,执行 set 访问器的代码块。
不具有 set 访问器的属性被视为只读属性。不具有 get 访问器的属性被视为只写属性。同时具有这两个访问器的属性是读写属性。
get 访问器体与方法体相似。它必须返回属性类型的值。执行 get 访问器相当于读取字段的值。get 访问器必须以 return 或 throw 语句终止,并且控制权不能离开访问器体(也就是说return 或 throw只能在get的“{}”中出现,写到get的“{}”外错误)。
set 访问器类似于返回类型为 void 的方法。它使用称为 value 的隐式参数,此参数的类型是属性的类型。当对属性赋值时,用提供新值的参数调用 set 访问器。
2.举例说明
例子1:
设置Month变量读写属性:
public class Date
{
private int month;
public int Month
{
get
{
return month;
}
set //set中可以写一些对赋值的约束的语句,可以起到检测的作用!
{
if ((value > 0) && (value < 13))
{
month = value;
}
}
}
使用Month变量读写属性:
Data dt=new Data();
dt.Month=某某; //系统会自动调用Month变量的属性中set程序部分
某某=dt.Month; //系统会自动调用Month变量的属性中get程序部分
例子2:
设置Month变量只读属性:
public class Date
{
private int month;
public int Month
{
get
{
return month;
}
}
例子3:
设置Month变量只写属性:
public class Date
{
private int month;
public int Month
{
set
{
month = value;
}
}