TOC

This article is currently in the process of being translated into Chinese (~80% done).

类 :

Properties

属性允许你控制类成员变量的可见性,是面向对象语言如C#所推荐的一种使用成员变量的方法。在我们关于类的章节里,我们第一次看到使用属性,但实际上它的概念非常简单。一个属性可以视为一个成员变量和方法的结合体-虽然不能接收任何参数,但它允许你在把值赋给返回的成员变量之前对其做一些处理。一个属性包括两个部分,一个get和一个set方法,打包在一个属性定义里。

private string color;

public string Color
{
    get { return color; }
    set { color = value; }
}

get方法应该要返回一个值,而set方法则要对成员变量赋一个值。 我们的例子是最简单的情况,但是可以继续复杂化。另外一个你需要了解的关于属性的事实是你其实只需要定义一个方法-get或是set方法,另外一个是可选的。这就使得你可以定义只读和只写的属性。下面是一个更好的例子来解释为什么属性非常有用。

public string Color
{
    get 
    {
        return color.ToUpper(); 
    }
    set 
    { 
        if(value == "Red")
            color = value; 
        else
            Console.WriteLine("This car can only be red!");
    }
}

好的,我们已经把我们的属性变得更加高级了。现在,因为我们在获取color这个变量之前应用了ToUpper()方法,color将会以大写字母的形式被返回,并且当我们尝试设置color的值时,只有“Red”会被接受。当然,这个例子看上去没什么用,但它展示了属性的潜在可能。

This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!