1
using System;
2
class User
3
此时如果用户输入的性别为其他的,比如“猪”,哈哈,是不是一样可以通过编译器了?解决方法是:
2
3
1
using System;
2
class User
3
问题解决:但是值得注意的是name、sex还是public属性,依然可以修改,给name、sex设置为public,破坏了类的封装,存在潜在的危险。应该设置为private.这样就需要用到属性的知识去声明,读取这两个字段。代码如下:
2
3
1
using System;
2
class User
3
从运行结果上看,把“无为”改成了“WuWei”,并且zm.Sex="天"没有对性别做修改。 2
3
注意:属性(Property)的调用跟类的字段的调用方法一样,赋值用等号。读取跟类的字段的读取方法一样。值得注意的是:private string name; public string Name;这样在C#中没有问题,但是如果在一个工程文件中存在多种语言,比如VB.NET.那么就会出现问题,个人建议把字段名称前面加一个标志符,比如:u_name、U_sex.这样就方便很多。