C#中属性的封装

封装的一般性

封装快捷键:Ctrl+R+E

封装的目的:

public修饰的属性,不够安全;private修饰的属性,无法使用
所以,用到了封装:

封装就是 隐藏对象的信息,但要流出访问的接口

封装代码示例:

class Child
    {
        private string name;    
        private string sex;

        public string Name     //封装的时候,要用public,保证类外能调用
        {                      //属性什么类型,封装的时候就用什么类型,
            get                //此处用string
            {
                return name;   //属性一般用小写字母表示
            }                  //但封装的时候首字母大写

            set                //封装方法里面就一个get{return 属性名称} 和
            {                  //一个set{属性名称=value;}
                name = value;   
            }                  //value是一个关键字
        }

        public string Sex
        {
            get
            {
                return sex;
            }
            set
            {
                sex = value;
            }
        }

        public void play() {
            Console.WriteLine("I'm playing football!");
        }
    }

主函数调用:

class Program
    {
        static void Main(string[] args)
        {
            Child c = new Child();      //首先创建 一个 对象
            c.Name = "xiaoming";        //赋值时  对象名.封装方法名
            c.Sex = "";
            Console.WriteLine(c.Name);  //引用时  对象名.封装方法名
            Console.WriteLine(c.Sex);
            c.play();
        }
    }
封装和方法不同,不需要形参
不管是给属性赋值还是引用属性的值,只需要调用封装函数就行
如若封装过程中出错,编辑器会自动报错,只需要根据报错修改即可

通过set块约束属性赋值

有时候因为某些原因,给属性赋的值不符合实际情况,如:不能给一个小孩赋值60岁

通过set块约束,无非是在set里加一个条件判断语句
set
            {
                if (value>=3&&value<=7)
                {
                    age = value;
                }

            }
要么生,要么死
原文地址:https://www.cnblogs.com/llljpf/p/6773130.html