美文网首页
C#中属性的封装

C#中属性的封装

作者: Super_邓帅 | 来源:发表于2016-09-23 21:43 被阅读0次


封装的一般性

封装快捷键: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;
                }
                
            }


结构与类

结构与类区别

相关文章

  • C#中属性的封装

    封装的一般性 封装快捷键:Ctrl+R+E 封装的目的: 封装就是 隐藏对象的信息,但要流出访问的接口 封装代码示...

  • 2019-12-16,面向对象的编程 (C#)

    C# 提供对面向对象的编程(包括封装、继承和多形性)的完整支持。“封装” 意味着将一组相关属性、方法和其他成员视为...

  • greendao源码分析:属性相关

    属性 1. 属性是什么? 属性对应于数据库表中的字段,如学生表中的年龄 2. 对属性的封装 property中封装...

  • C#中的属性

    来源:https://blog.guoqianfan.com/2019/12/07/properties-in-c...

  • C#如何创建MDI子窗体

    C#中怎样创建MDI子窗体?在MDI主窗体的【属性】对话框中,将MDI主窗体的IsMdiContainer属性设为...

  • 面向对象的特征

    面向对象的三大特征 封装 继承 多态 封装 封装,即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读...

  • 面向对象02-封装

    面向对象02-封装 [TOC] 好处 广义的封装:方法、类、包狭义的封装:类中的属性的封装 封装的具体体现 规范 代码

  • 面向对象的三大基本特征,五大基本原则

    三大基本特征:封装、继承、多态 封装封装就是隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的...

  • 【C#学习笔记】C#中set和get用法

    目录### 1. c#中的域与属性2. 为什么会出现set和get3. 使用set和get的好处 1. c#中的域...

  • tolua中的属性访问

    C#中的属性转换为用lua访问时,是被当作字段使用的用Get+属性名ClientDataProxy.Instanc...

网友评论

      本文标题:C#中属性的封装

      本文链接:https://www.haomeiwen.com/subject/bctxyttx.html