C#中的get和set

c#中get和set不提倡把域的保护级别设为public,不安全。推荐使用属性来表达,属性不表示存储位置,这是其与域的根本性区别。
属性提供了只读(get)、只写(set)和读写(get和set)三种接口。
注意:声明的时候必须在同一个属性名下,不能分离。另外三种属性被认为是同一个属性名。
一般来说,get、set用public来修饰以起到公共接口的意义。另外还有abstract、virtual、override、sealed修饰符。
示例代码:
    class MyClass
    {
        int number;
        public int Number
        {
            get{return number;}
            set{number=value;}
        }
    }
    class Test
    {
        public static void Main()
        {
            MyClass MyObject = new MyClass();
            Console.WriteLine(MyObject.Number); //取值操作对应get
            MyObject.Number = 20; // 赋值操作对应set
            Console.WriteLine(MyObject.Number);
        }
    }
例子2:
    class MyClass
    {
        int number;
        public int Number
        {
            set{number=value;}
        }
    }
    class MyClassDerived : MyClass
    {
        new public int Number
        {
            get{return number;}
        }
    }
    class Test
    {
        public static void Main()
        {
            MyClassDerived MyObject = new MyClassDerived();
            ((MyClass)MyObject).Number = 10;
        }
    }



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值