C#中属性和成员变量的区别说明

时间:2021-05-20

一个类,有时候搞不清楚到底用成员变量还是属性。
如:
成员变量
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)都已经进行了封装,对于类外部是不可见的。对于外部使用者来说只能够使用它,不能控制它,如何控制操作是由类自身决定的。你理解了吗?

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章