1.保护私有字段,例如
private int age;
public int Age
{
get {return age;}
set {age =value;}
}
字段age是私有的只能在类中访问,如果将其作为public又破坏了封装性,故而添加一个属性Age这样既没有破坏封装,又可以让在类外间接的给age赋值或者取值。类成员如果是公共访问类型,那任何人可以对这个成员做随意的修改,这对于程序的安全和稳定运行不利。
2.可控制访问:
就是对字段age是否可以赋值或者取值权限。
3.不必重视细节:
c#中并不是没有指针 而是被保护起来了,只有在声明unsafe的时候才可以使用。所以c#程序几乎不会造成程序崩溃,这就是c++程序经常会出 xxx不能为read等等这样的事情。
例如:
public unsafe void Test()
{
int i = 10;
int k;
int* j;
j = &i;
k = *j + 1;
MessageBox.Show(k.ToString());
}
其实现在是推荐使用属性的
为什么?
我就说一个很简单的例子,我们看看到底用属性好还是直接使用公有字段好
比如
public int i;这样就是可读可写
private int i;
public int I 这样字段就由属性控制为只读的了,而且在类内部一样可以改变该字段的值(不使用类似const的修饰)
{
get{return i;}
}
还有类似的
private int i;
public int I
{
get{return i;}
set{if(value>100) this.i=100;
else ???自己写}
}
诸如此类
你看看属性到底好不好呢?
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23155850/viewspace-666264/ ,如需转载,请注明出处,否则将追究法律责任。