c#—get,set访问器的作用
2021-06-28 04:04
标签:word ret x11 dex cep 有一个 error 安全 存储 http://blog.sina.com.cn/s/blog_82526aa60100txtx.html 有字段为啥要有属性??? 属性作用: 1.控制读和写的权限 get:读出 set:写入 2.对数据值进行安全检查 如果在一个类中有一个公有字段,那么在这个类的外部我们可以自由无阻的使用这个字段,但是如果给这个字段赋了一个很“离谱”的值,那这对程序可能会造成很大的影响 比如: Class Student { public int Age; } 在这个类外我们写: Student stu =new Student(); stu.Age = 1000; 众所周知,人目前是不可能活到1000岁的,但是这样赋值编译器又不会报错(假设外部没有限制Age取值的逻辑),但是我们知道这个程序运行后的结果是有错误的 所以我们有了“属性”这个东西,代码可以这样写: //属性对外:暴露数据,数据可以是存储在字段里的,也可以是动态计算出来的 //对内:保护字段不受“非法值”污染 //一般情况下,它们都用于表示实体(对象或类型)的状态 //属性大多数情况下是字段的包装器(wrapper) //建议:永远使用属性(而不是字段)来暴露数据,即字段永远是private或protected的 c#—get,set访问器的作用 标签:word ret x11 dex cep 有一个 error 安全 存储 原文地址:https://www.cnblogs.com/flowerfield423/p/10055578.htmlclass
Student
{
private
int
age;
public
int
Age
{
get
{
return
age; }
set
{
if
(value >= 0 && value
{
age = value;
}
else
{
throw
new
Exception(
"Age value has error."
);
}
}
}