您的位置:首页 > 编程语言 > C#

理解C#中属性的概念和作用

2008-11-27 13:53 295 查看
1.文字说明

属性结合了字段和方法的多个方面。

对于对象的用户,属性显示为字段,访问该属性需要完全相同的语法。

对于类的实现者,属性是一个或两个代码块,表示一个 get 访问器和/或一个 set 访问器。

当读取属性时,执行 get 访问器的代码块;当向属性分配一个新值时,执行 set 访问器的代码块。

不具有 set 访问器的属性被视为只读属性。不具有 get 访问器的属性被视为只写属性。同时具有这两个访问器的属性是读写属性。

get 访问器体与方法体相似。它必须返回属性类型的值。执行 get 访问器相当于读取字段的值。get 访问器必须以 returnthrow 语句终止,并且控制权不能离开访问器体(也就是说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;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: