• 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;
                    }
    
                }
    要么生,要么死
  • 相关阅读:
    Final Zadanie 题解
    CF1096E The Top Scorer 题解
    [SDOI2008]Sue的小球 题解
    柱爷与远古法阵 题解
    [ZOJ3329] One Person Game 题解
    扑克牌 题解
    CF494C Helping People 题解
    CF1025D Recovering BST 题解
    linux基础学习-Raid 0 1 5 10的原理、特点、性能区别
    linux基础学习-CentOS7.5用户管理
  • 原文地址:https://www.cnblogs.com/llljpf/p/6773130.html
Copyright © 2020-2023  润新知