ITPub博客

首页 > Linux操作系统 > Linux操作系统 > C# 字段和属性 及 unsafe问题

C# 字段和属性 及 unsafe问题

原创 Linux操作系统 作者:jyang57 时间:2010-06-25 13:58:53 0 删除 编辑

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/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: owc中pivotTable使用
下一篇: Infragistics 使用
请登录后发表评论 登录
全部评论

注册时间:2010-01-09

  • 博文量
    110
  • 访问量
    164134