## 封装的含义:
封装就是将对象运行所需要的资源封装在程序对象中,并给外界公布接口,这样很复杂的逻辑经过包装之后给其他类使用就很方便,其他类不需要关心你里边的功能是以哪种方式实现的,只要传入需要的参数就可以得到想要的结果。

对此,就是说需要让用户知道的我们才暴露,不需要让用户知道的全部要隐藏起来,这就是封装。简单来说就是,“你不要告诉我你是以那种方式实现的,只要能做到就可以了”。

## 封装的作用:
(1)提高代码的安全性,就是说我只给外界暴露尽可能少的东西,这样对内部是比较安全的,同时也避免了在外部无意的破环,保护了内部的数据
​ (2)提高代码的复用性。就是说比如在遇到这个问题,我不使用封装,那么解决了这个问题,在下次又遇到的类似的问题还要继续再敲一遍代码吗?所以代码封装以后,我i就再给他一个接口,或者少许的修改一下就可以了
​ (3)“高内聚”,是指类的内部数据操作细节我们自己完成,不允许外部干涉。我们将内部的细节封装,隐藏起来,这样不仅便于后期内部代码的修改,更是提高了可维护性。
​ (4)“低耦合”,是指仅需暴露少量的方法给外部使用,尽量方便外部使用。就是说简化外部调用,便有调用者使用,便于扩展和协作。
**如何封装:**创建你需要的类,解决方案管理器右键,然后添加一个类,创建类的名称,确定。
什么情况下封装:
1、保护字段/数据,这个字段/数据我不想让外界用户知道,就使用封装
​ 2、但是可以让外部修改它,这个时候就使用到封装(属性封装)
​ 3、这个字段/数据我要限制用户输入的值,比如说这个字段是sex性别,只能输入男和女,超出了这个范围 就没有数据,所以我们要限制用户输入的内容,这个时候就使用封装
​ 4、就是只提供这个数据可以给用户外界使用,但不能修改它,此时就用到的封装

封装的含义,作用,如何封装,什么情况下进行封装?相关推荐

  1. 在数据仓储的情况下进一步封装数据库基础操作,此版本为异步版本

    1 /// <summary> 2 /// 在数据仓储的情况下进一步封装数据库基础操作,此版本为异步版本 Created by ZhangQC 2016.08.17 3 /// </ ...

  2. 封装的含义、封装的作用、如何封装、什么情况下封装?

    封装的含义.封装的作用.如何封装.什么情况下封装? 1.封装的含义:封装是实现面向对象程序设计的第一步,封装就是将数据或函数等集合在一个个的单元中(我们称之为类).被封装的对象通常被称为抽象数据类型. ...

  3. python的封装的含义是_Python——封装

    封装指的是将对象的状态信息隐藏在对象内部,不允许外部直接访问对象内部信息,而是通过该类提供的方法来实现对内部信息的操作和访问:封装的含义,实际上,是把该隐藏的隐藏起来,该暴露的暴露出来:Python只 ...

  4. 什么叫封装?封装有什么作用?

    一.什么是封装? 封装是把彼此相关数据和操作包围起来,抽象成为一个对象,变量和函数就有了归属,想要访问对象的数据只能通过已定义的接口. 说封装就是将属性私有化,太过狭隘,因为封装不仅仅实现了数据的保护 ...

  5. 怎样方便的在别人的PCB上修改,在你没有封装的情况下

    (1)生成PCB的封装库,其生成就可以,这样在同一个工程下,原理图自动拥有这个封装 (2)要是修改了原理图,这个原理图你自己库也没有其封装,所以需要添加一个你自己库也没有的封装,此时方便的做法是打开一 ...

  6. java中如何把时间封装成类,java-如何在不使用任何不推荐使用的类的情况下将日期从一种格式转换为另一种格式的日期对象?...

    java-如何在不使用任何不推荐使用的类的情况下将日期从一种格式转换为另一种格式的日期对象? 我想将date1格式的日期转换为date2格式的日期对象. SimpleDateFormat simple ...

  7. 进一步封装axios并调用其读取数据(吐槽~在安卓9.0以下或者IOS10.X以下手机端H5页面不支持,在这两种情况下的系统只能使用ajax或者原生js请求后台数据)

    注意!!!(修改于2020年7月18日) 在安卓9.0以下或者IOS10.X以下手机端H5页面不支持,在这两种情况下的系统只能使用ajax或者原生js请求后台数据 报错截图如下 报错内容: {&quo ...

  8. java的封装性_Java10-java语法基础(九)——java的封装性

    Java10-java语法基础(九)--java的封装性 一.Java的三大特性:封装.多态.继承 封装:通过类封装对象的数据成员和成员方法,保证只有可信的类或者对象能够访问这些方法和数据成员,对不可 ...

  9. 5G位移下的封装产业“地壳运动”

    在5G手机的新品发布会上,SoC芯片绝对是最值得被率先拿出来大书特书的"核心竞争力". 我们知道,SoC(高度集成)相比传统的外挂解决方案,在功耗和性能上更能够满足市场的需求. 但 ...

最新文章

  1. Android网络编程
  2. Linux中压缩、解压缩(tar/zip/bzip2/gz/gzip/zip)
  3. DS4700电池更换步骤
  4. 徐州医科大学计算机报名,2019年徐州医科大学计算机等级考试准考证打印
  5. vscode用作markdown入门2--代码上下标目录字体
  6. struct、union、enum and sizeof
  7. 商汤连发11款新品,把自己逼上“AI落地”极限
  8. Excel常用函数及操作_脑图
  9. elasticsearch minimum_should_match
  10. 人工智能在音乐领域的应用概述(1)---听歌识曲
  11. Mysql orchestrator高可用
  12. 使用 IDEA 翻译插件
  13. JDBC简介及原理和使用介绍
  14. mysql无密码登录
  15. java基础入门篇1
  16. 《出路》电影版看到父母倾尽所有供寒门学子找出路还是那么的艰难
  17. 数值分析:复化公式求解定积分
  18. 【控制工程基础】三、系统的稳态性能
  19. 特斯拉超级工厂监控遭入侵?天懋信息来支招
  20. 为什么越来越多的人喜欢拍照呢?如何用手机拍出大片?最受欢迎的摄影主题是什么呢?

热门文章

  1. 【日常Exception】第二十四回:nested exception is java.lang.NoClassDefFoundError: redis/clients/jedis/util/Pool
  2. 查看及修改微软Edge浏览器用户数据保存位置(包括详细历史记录(页面停留时间,页面访问次数,最后访问时间,下载历史等),Cookie,书签等)
  3. 如何做出实用而强大的数据地图?
  4. 13.矩阵的快速转置算法
  5. 《Javascript高级程序设计》--读书笔记(一)
  6. React 官网入门教程 - 井字棋小游戏
  7. ES 如何实现向量搜索【以图搜图/语义搜索】
  8. 天气显示服务器不可用,Windows7系统小工具天气不显示提示所在的地区无法使用服务...
  9. 视频播放控件实现教程(几行代码快速实现)
  10. k3d入门指南:在Docker中运行K3s