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

1.文字说明

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

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

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

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

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

        get 访问器体与方法体相似。它必须返回属性类型的值。执行 get 访问器相当于读取字段的值。get 访问器必须以 returnthrow 语句终止,并且控制权不能离开访问器体(也就是说returnthrow只能在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;
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值