请问Property有什么用处吗?

来源:百度知道 编辑:UC知道 时间:2024/06/13 19:48:56
Property和它里面的Get(),Set()有什么用处吗,还有要怎么用啊。

property 是属性的意思。是OO(面向对象)层面上的东西。c#里还有一个也叫属性(attribute),不过这个是C#语言提供的一个特性。楼主这里可以暂时撇开不管。

回到正题。在OO里属性指的是对象所特有的一些特性(数值)。在c#中
往往我们会用到很多成员字段(member field valuable)来表述对象的属性。而有时我们希望控制调用者(实例)对属性的访问能力(读写)。而在代码中直接公开成员变量是不可取的,因为我们不想把类的具体实现公开给调用者(好比你吃一副中成药,制药商不可能把所有成分告诉你一样)。

那么就有了如下的解决方法,把属性的具体实现封装起来。
假设我们想让调用者可以设置和获取名字,设置和获取年龄(人会老的),但是性别不能更改。(不考虑做手术的情况)
那么下面的代码就能完成这个要求。
class SampleClass
{
private string name;
private int age;
private bool gender;

public string Name
{
get { return this.name; }
set { this.name = value; }
}

public int Age
{
get { return this.age; }
set { this.age = value; }
}

public bool Gender
{
get { return this.gender; }
}
}