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

C#属性和成员变量的区别?

2012-12-07 20:26 225 查看
C#属性和成员变量的区别?

一个类,有时候搞不清楚到底用成员变量还是属性。

如:

成员变量

public string Name;

或者用属性

private string name

public string Name

{

get

{

return name;

}

set

{

name = value;

}

}

属性与成员变量类似,它们都提供数据存储,但属性的功能远比成员变量强大。属性由特殊方法(Get 和 Set 访问器)访问。Get 和 Set 访问器允许在设置或检索属性之后验证属性值、执行其他代码或执行其他任务

例如

成员变量这样写

public readonly string Name;

那还是可以是只读了

private string name

public string Name

{

get

{

return name;

}

}

面向对象的编程方法是要抽象、封装;在类中,定义的变量是正对类本身而言,我们把它们叫做域。它可以为public ,private等;属性是针对外部看到的类的特性,是类展示给外部使用者的特性。前面我们讲到了域可以为public,但这样把域申明为public将 不利于类的封装,因为外部使用者可以对类进行直接修改。所以我们就可以用到属性,我们只是公开它们的属性,至于如何对其进行赋值(set)如何进行取值 (get)都已经进行了封装,对于类外部是不可见的。对于外部使用者来说只能够使用它,不能控制它,如何控制操作是由类自身决定的。你理解了吗?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: