C# | 属性的理解和使用

一、正常定义一个类型

int age;

我们有两种选择:

1.自己可以设置和获取

private int age;

2.外人和自己都可以设置和获取

public int age;

那我们会有个问题:

如果我只希望自己能设置,但不希望自己获取;

或者,希望自己和外人都能设置,但不能获取;

或者,希望自己能获取,但不能设置

或者,希望自己和外人都能获取,但不能设置

这时候就做不到了。

如果我希望大于等于0的数可以设置,小于0的数不允许设置

这时候就做不到了。

总结:属性是对这个数据做更具体的规划。

二、属性的使用

//定义一个数据
private int age;

//对定义的数据做描述
private int Age { get; set; }

仿照下面的写法,把age的第一个字母大写,写成Age,就说明,下面这部分是在对age做说明。

这已经是约定俗成了,所以,如果你懒一点,你可以不写private int age;它会自己默认给你建一个。那么你只写下面就可以。

//对定义的数据做描述
private int Age { get; set; }

●private意思:只有自己能用,还是所有人都能用

●get意思:这个数据可以获取

例(正确):

        private int Age { get;set;}

        void Main() {
            int a = Age;
        }

例(报错):

        private int Age { set; }

        void Main() {
            int a = Age;
        }

报错会告诉你,我没有给你获取的权限,你不能获取。

●set意思:这个数据可以设置

例(正确):

        private int Age {get;set;}

        void Main() {
            Age=5;
        }

例(报错):

        private int Age { get;}

        void Main() {
            Age =5 ;
        }

报错会告诉你,我没有给你获取的权限,你不能设置。

这个get和set是默认public,如果有需要,还可以设置为private

public int Age { private get; set; }

这句的意思就是:虽然Age所有人都能设置,但只有自己能获取

三、属性的数值限制 

如果我希望大于等于0的数可以设置,小于0的数不允许设置

        int Age {
            //获取的时候,就把Age给它
            get { return Age; }
            //设置的时候
            set
            {
                //value就是传递进来的值叫value
                //如果value>=0,就把value设置给Age,反之不管
                if (value >= 0)
                {
                    Age = value;
                }
                else {
                    return;
                };
            } 
        }

四、总结

这样我们就能对我们设置的数据,做一些限制,不是谁想用就能用,不是想设置什么就能设置什么!

猜你喜欢

转载自blog.csdn.net/weixin_49427945/article/details/130335748