有意思的成员变量

V1 最开始的时候,这样定义成员变量
    class EmployeeV1
    {
        public string Name;
    }

V2 后来别人说,数据要隐藏,他们这样教我。于是每个成员变量都要配两个成员方法,就像两个保镖:一个用来给成员变量赋值;一个用来读取成员变量的值。
    class EmployeeV2
    {
        private string Name;
        public void SetName(string newName)
        {
          //我喜欢在这设置断点,有人还喜欢在这检查newName的有效性
            Name = newName;
        }
        public string GetName()
        {
            return Name;
        }
    }
V3  再后来,他们说V2好傻,干脆发明了 属性(Property) 专门干这种事。还能用IDE的重构功能,不用手敲Property,不错。
    class EmployeeV3
    {
        p
        rivate string name;
        public string Name
        {
            get
            {
             return name;
            }
            set
            {
              //同样可以设断点
             name = value;
            }
        }
    }
V4 接下来,他们发现V3更傻,软件中到处充斥着无聊的代码。于是他们体贴地升级了编译器,只要一行代码就能取代V3。
    class EmployeeV4
    {
        //我的断点怎么没有了?
        public string Name { get; set; }
    }
V5 返祖了。
    class EmployeeV5
    {
        public string Name;
    }
有些东西必须要public的,不论是直接或间接。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值