C#中的字段封装和属性调用

类成员包括变量和方法,作为一名小白程序员,我经常把变量和方法全部声明为public。当老师看我的代码时,指出成员变量应该进行封装,???不知所云。于是,通过大量的查阅相关资料,我才明白为什么要封装?
第一点:安全。
成员变量声明为public,意味着成员变量的类只要经过实例化,都可以修改成员变量的值,容易造成数据的暴露。这显然不是我们想要的结果。
第二点:校验
在做用户的身份校验时,封装字段可以对字段本身进行校验。
第三点:字段和属性
字段是我们声明的成员变量,而属性是我们经过封装后的字段。属性可以在类实例化后直接使用。
封装的两种方式:

 private string UsrName;
    private string UsrPass;
    //字段封装的第一种方式---自定义封装
    public void SetUsrName(string value)
    {
        if (value == "聂风")
        {
            this.UsrName = value;
            Debug.Log(this.UsrName);
        }
        else
        {
            Debug.Log("用户名有误");
        }
    }
    public string GetUsrName() {
        return UsrName;
    }
 private string name;
    private string sex;
    private string age;
    //字段封装的第二种方式
    public string Name { get => name; set => name = value; }
    public string Sex { get => sex; set => sex = value; }
    public string Age { get => age; set => age = value; }
 public void Check() {
        //第一种封装的调用
        SetUsrName(inputField_UsrName.text);
        SetUsrPass(inputField_UsrPass.text);
        //第二种封装的调用
        Person person = new Person();
        person.Name = "聂风";
        person.Age = "18";
        person.Sex = "男";
        Debug.Log(person.Name+person.Age+person.Sex);
    }
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
使用字段属性(Properties)的好处有以下几点: 1. 封装性:字段属性允许你控制对类的字段的访问,并提供了更严格的封装性。你可以定义只读、只写或读写属性,以控制外部代码对字段的访问和修改。这样可以防止对字段的意外修改,同时提供更好的数据安全性和代码可靠性。 2. 访问控制:通过使用字段属性,你可以限制对字段的访问权限。例如,你可以将某个属性定义为只读,这意味着其他代码只能读取该属性的值,而无法修改它。这种访问控制有助于保护数据的完整性和一致性。 3. 额外逻辑处理:使用字段属性,你可以在获取或设置属性值的过程执行额外的逻辑处理。这样可以在属性的读取或写入过程进行数据验证、计算或触发其他操作。例如,你可以在设置属性值之前检查其有效性,并在需要时引发异常或执行其他处理。 4. 与字段对应的方法:通过定义属性,你可以将对字段的读取和写入操作封装属性方法。这样可以使代码更加一致和易于理解,并且可以提供更好的可维护性。属性方法可以像访问字段一样使用,但实际上它们是方法调用,这使得代码更加灵活和可扩展。 5. 对象的统一访问方式:使用属性,你可以以一致的方式访问对象的字段属性。这使得代码更易读、易维护,并且提供了更好的代码组织和可重用性。 总的来说,使用字段属性可以提供更好的封装性、访问控制、额外逻辑处理和代码组织,从而改善代码的可靠性、安全性和可维护性。 希望这回答了你的问题!如果还有其他疑问,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值