C#中属性的封装

摘要:
“);}}主函数调用:classProgram{staticvoidMain{Childc=newChild();//首先创建对象c.Name=”xiaoming“;//对象名称。封装方法名称c.Sex=”male“;Console.WriteLine;//引用对象名称。包封方法名称Console.WriteLine;c.play()。}封装和方法不同。您不需要正式参数来分配或引用属性值。您只需要调用封装函数。如果在封装过程中发生错误,编辑器将自动报告错误。只能根据错误报告修改错误,并通过设置块约束为属性赋值。有时由于某些原因,分配给属性的值不符合实际情况。例如,您不能为60岁的孩子赋值并传递集合块约束,这无非是向集合中添加一个条件判断语句集{if{age=value;}}

封装的一般性

封装快捷键:Ctrl+R+E

封装的目的:

C#中属性的封装第1张

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#中属性的封装》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇rabbitmq、kafka、activemq、rocketmq之间对比,区别小程序之模板消息下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

VLC客户端和SDK的简单应用

VLC_SDK编程指南 VLC 是一款自由、开源的跨平台多媒体播放器及框架,可播放大多数多媒体文件,以及 DVD、音频 CD、VCD 及各类流媒体协议。它可以支持目前市面上大多数的视频解码,除了Real。 VLC_SDK的调用 VLC的SDK使用C语言写成,它的解码库部分的基础是FFMpeg,FFMpeg也是一套可以用来记录、转换数字音频、视频,并能将其转...

FFmpeg封装格式处理

本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10506636.html FFmpeg封装格式处理相关内容分为如下几篇文章:[1]. FFmpeg封装格式处理-简介[2]. FFmpeg封装格式处理-解复用例程[3]. FFmpeg封装格式处理-复用例程[4]. FFmpeg封装格式处理-转封装...

Spring源码深度解析之数据库连接JDBC

Spring源码深度解析之数据库连接JDBC   JDBC(Java Data Base Connectivity,Java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,是数据库开发人员能够用...

vue+axois 封装请求+拦截器(请求锁+统一处理错误码)

 需求  封装常用请求  拦截器-请求锁  统一处理错误码 一、封装常用的请求   解决痛点:不要每一个模块的api都还要写get,post,patch请求方法。直接将这些常用的方法封装好。   解决方案:写一个类,封装好常用的请求   部分源码如下 export default class PublicAPI { constructor(ur...

自动化-Yaml文件读取函数封装

1.文件布局 打开文件修改读取方式为wload函数加载文件 class ReadConfiYaml: def __init__(self,yaml_file): self.yaml_file=yaml_file def read_yaml(self): with open(self.yaml_fi...

php中mysql数据库操作类 -李盛鹏 -博客园

本白演示的代码属于较为简单的数据库封装类,较适合初学。因为水平有限,见谅。 接着稍微说说整体的思路。整个类的封装,包含一个连接数据库的私有属性$conn和若干操作函数。$conn在对象实例化的时候,由构造函数处理传入的参数后返回一个资源型的连接句柄。而后即可通过调用该实例化的对象的相应方法对数据库进行增删查改的操作。 talk less and show...