类属性

有两种途径揭示类的命名属性——通过域成员或者通过属性。前者是作为具有公共访问性的成员变量而被实现的;后者并不直接回应存储位置,只是通过存取标志(accessors)被访问。

当你想读出或写入属性的值时,存取标志限定了被实现的语句。用于读出属性的值的存取标志记为关键字get,而要修改属性的值的读写符标志记为set

using System;

public class House
{
    private int m_nSqFeet;

    public int SquareFeet
    {
        get { return m_nSqFeet; }
        set { m_nSqFeet = value; }
    }
}

class TestApp
{
    public static void Main()
    {
        House myHouse = new House();
        myHouse.SquareFeet = 250;
        Console.WriteLine(myHouse.SquareFeet);
    }
}

除了能够隐藏实现细节外,还可自由地限定各种操作:
get和set:允许对属性进行读写访问。
get only:只允许读属性的值。
set only:只允许写属性的值。

除此之外,可以获得实现在set标志中有效代码的机会。例如,由于种种原因(或根本没有原因),你就能够拒绝一个新值。

你可能感兴趣的:(属性)