封装

前言
关于封装,一般面试不会问太多,三大特性问的最多的是多态,后面文章会给大家介绍!
1.什么是封装
举个例子,一台电脑,人们正常操控的是电源,网线,开关机,光驱,usb,显示器等对外显现部分,而内部的cpu,主板,显卡,网卡等部分是不对外显现的,也是不建议人们自行去修改的,内部的核心组建被封装在在了主机箱以内-这就是一个封装的实例;
so,什么是封装呢?
封装其实就是包装,也可以说是信息的隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系。系统的其他对象只能通过包裹在数据外面的已经授权的操作来与这个封装的对象进行交流和交互。也就是说用户是不知道对象内部的实现细节的,但可以通过该对象对外的提供的接口来访问该对象。
2.为什么要有封装
谈到为什么要有封装,就得提到封装到底有什么特点了;
1)隐藏具体实现:对内修改不影响外部正常调用,不允许外部成员修改其隐藏的部分
这样操作的好处在于安全,即当电脑无法开机的时候,维修人员修改内部组件,对我们而言是不可知的,我们不知道维修人员到底修改了哪些组件, 但结果就是我们能开机了-此处即对内修改不影响外部调用;
2)更好的操控成员:将内部成员分类,private-仅内部可以操控,protected-可以继承,public-外部成员可以操控;
3)降低代码耦合性:良好的封装是可以降低代码耦合性的,例如将主机的每个小部件进行封装,usb,光驱,键盘,鼠标等部件封装成独立个体,当鼠标不能运作的时候,不影响其他部件正常运行;
4)提升可复用性:每个部件都是独立的个体,可以在多种环境下使用;例如封装后的鼠标,既可以在笔记本上使用,也可以在台式机上使用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 关于封装,一般面试不会问太多,三大特性问的最多的是多态,后面文章会给大家介绍! 1.什么是封装 举个例子,一...
    面试精阅读 1,938评论 0 0
  • 细胞是构成生物体不可分割的基本组成单位。细胞通过细胞膜(细胞壁),划出了自己清晰的边界。在边界内部,细胞有自己的各...
    _袁英杰_阅读 4,509评论 11 38
  • 在面向对象程式设计方法中,封装(Encapsulation)是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的...
    海人为记阅读 255评论 0 0
  • 一、封装 1、什么是封装? 在一个对象中,包含了状态和行为,状态指的是对象的数据成员,而行为则对应了对象的方法。数...
    三笑奈若何阅读 976评论 0 1
  • 菜鸟教程的说法: 在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现...
    风雪_夜归人阅读 146评论 0 0