C# 属性

属性是通过getset来实现的

属性可以只有读或者只有写,也可以加访问修饰符。   

class A
    {
        private int x, y;
        public A(int a,int b)
        {
                x= rangeCheckedX(a);//调用判断函数,判断值是否在设定的范围之中,不在就抛异常
                y = rangeCheckedY(b);
        }
        //属性。
        public int X
        { 
            get {return this.x;}
            set { x = rangeCheckedX(value); }
        }
        public int Y
        {
          //  get {return this.y;}
            set { y = rangeCheckedY(value); }
        }
        private int  rangeCheckedX(int i)
        {
            if (i > 100 || i < 0)
            {
                throw new ArgumentOutOfRangeException("X");
            }
            return i;
        }
        private int rangeCheckedY(int i)
        {
            if (i > 100 || i < 0)
            {
                throw new ArgumentOutOfRangeException("Y");
            }
            return i;
        }

    }

static void Main(string[] args)
        {
            A a1 = new A(70, 70);
            Console.WriteLine(a1.X);
            a1.X = a1.X + 30;
            Console.WriteLine(a1.X);
            a1.Y =  30;
        }

属性还可以直接定义,和别的值没有关系。

这种定义方法,get和set都必须存在。

 public int X
        {
            get;
             set;
        }


还可以给接口定义属性在接口里面,get和set没有大括号

    interface jiekou
    {
        int X { get; set; }
        int Y {get;set;}
    }

类继承接口的属性与函数类似,只需要实现就可以。并且还可以在类中将接口定义成virtual




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值