转自:http://blog.csdn.net/nutian/article/details/1412243
属性实际上和成员变量没什么区别,属性代表类的某种特征, 让人更好理解而已.
使用中注意问题:
1、属性名和变量名不能相同,
2、一般变量都是private,属性都是public的,属性用于给类外调用,变量限于类内使用,感觉封装性体现得要好些
3、属性必须和一个变量相联系,而这个变量必须要在类中定义.如果不定义,用成如下方法:
public int b //定义一个属性b
{
get
{
return b;
}
set
{
b = value;//对b赋值
}
结果会导致死循环,而堆栈溢出错误.C++方面转C#时,困惑了很久,正常的使用
定义类A
public class A
{
private int b1 = 1;//这里定义一个变量
public int b //这里定义一个属性
{
get
{
return b1;//属性和变量关联
}
set
{
b1 = value;
}
}
public A(int n)
{
b1 = n;
}
}
实际上编程时完全按照C++的方式,完全没问题,根本不用取管什么属性也可以.