C#_get、set方法

最近看了一些关于get、set方法的文章,然后自己也做个笔记,方便以后理解,好废话不多说直接上干货。


下面我们就举例说明一下get 、set最简明的写法:

   public string Str_1
   {
        get;
        set;       
   }

get即是外界可以得到Str_1的这个值,set:即是外界可以修改Str_1的这个值,那么就有人问了:“我写get,set方法跟我直接写public的字段功能一样,为什么要设置get set方法呢?”
好,那我就简单说明一下问什么,为了后期的修改及维护及提高代码的安全性。
有时候你会发现写着代码写着代码你会发现这个“Str_1”的这个值我直接给它一个初始值就好了,也不用修改它,但是你又怕你那上千行的代码有修改“Str_1”的值(总不能再去检查一遍代码吧,这样既浪费时间又会耽误工作),这个时候如果你有写get,set方法那么就简单了你可以这样:

public string Str_1
    {
        get
        {
            return "小明";
        }
    }

直接把set去掉然后设置一个初始值变成只读的,也不用担心你的代码会有修改到它了。是不是这样写后期修改起来特别方便快捷呢。


好,我们再说一下另一种用法如下:

   public string Str_2
   {
        get;
        private set;
   }

我们在set前面加了一个 private, private什么意思,是私有的,不公开的。这样写什么意思呢,就是说:我们可以从别的类获取到Str_2的这个值,但是想要修改这个值得话只能从本类修改,这样一说是不是提高了代码的安全性,再也不用担心别的类会乱动到这个值了。


好,我们再说一下另一种用法,我先把代码扔上去:

  private string str_3;
    public string Str_3 {
        get
        {
            return str_3;   
        }
        set
        {
            str_3 = value == "小狗变成了一条腿" ? "一条腿的小狗" : value;
            Str_3_Name();
        }
    }
    void Str_3_Name()
    {
       switch (str_3)
       {
           case "一条腿的小狗":
               Debug.Log("一条腿的小狗,好可怜");
               break;
           case "二条腿的小狗":
               Debug.Log("二条腿的小狗,好可怜");
               break;
           case "三条腿的小狗":
               Debug.Log("三条腿的小狗,好可怜");
               break;
            case "四条腿的小狗":
                Debug.Log("四条腿的小狗,好可爱");
                break;
            default:
                Debug.Log("小狗小狗,汪汪汪");
                break;
       }
    }

这样想要修改str_3的值,我们可以直接修改Str_3这样我们可以在“Str_3”set语句块中做一些操作,也可以做一些逻辑判断,如上述举例:我们可以直接修改str_3的值,但是看一下我们从Str_3里面修改的话可控性是不是会更好呢,每当我们从Str_3进行修改str_3值得时候都会经过Str_3的set语句块,然后我们可以在set语句块中做一些判断进而去准确修改str_3的值,并且每次修改值时都会调用“Str_3_Name()”方法(当然我们可以做一些别的操作,可以起到实时监控数据刷新的作用进而做一些别的操作),对了,
这里需要说一下value的类型在这里即代表string类型,上面声明的什么类型即是什么类型
这里标重点,不要问为什么。


目前就总结那么多。可能会有一些不足之处,还望大佬们多多指教。
本篇依旧献给热爱学习的你!!!
最后说一句学习真的会上瘾,尤其是尝到甜头之后

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值