面向对象三大特性之封装篇

什么是封装?

信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系。系统的其他对象只能通过包裹在数据外面的已经授权的操作来与这个封装的对象进行交流和交互。也就是说用户是无需知道对象内部的细节,但可以通过该对象对外的提供的接口来访问该对象(实体类封装)

为什么要使用封装(使用封装的优点)

1.  良好的封装能够减少耦合。(编写代码原则为:高内聚,低耦合)

a)  耦合:代码块间的联系。(在java中多指类之间的关系)

b)  内聚:内聚是代码块间的独立性

c)  高内聚和低耦合的表现形式

i.    低耦合:一个完整的系统,模块与模块之间,尽可能的使其独立存在。也就是说,让每个模块,尽可能的独立完成某个特定的子功能。模块与模块之间的接口,尽量的少而简单

ii.     高内聚:代码内聚就是一个模块内各个元素彼此结合的紧密程度,高内聚就是一个模块内各个元素彼此结合的紧密程度高。所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则

2.  类内部的结构可以自由修改。

3.  可以对成员进行更精确的控制。

4.  隐藏信息,实现细节。

c)  封装总结(封装从根本意义上讲就是要实现代码的隐藏)

封装即将属性和方法封装到类中,通过访问修饰符保证了数据的安全性。而且在使用者调用方法时不在关心代码的实现过程,只需要关心功能即可。(注:代码的隐藏指使用者不用关心代码的实现,而不是现实意义中的看不到实现代码)

d)  封装的分类

i.     代码的封装(类)

1.  将功能代码和数据分类

ii.      类的封装(包)

1.  将同一共能的类封装到一个包路径下。

【职坐标】java面向对象三大特征(一)——封装相关推荐

  1. Java—面向对象三大特征(封装,继承)

    面向对象的三大特征: 面向对象的三大特征: 封装: 访问修饰符 封装概念 封装的目的 toString方法 Object类(简单提及) 继承: 方法 继承的目的 覆盖 | 重写 super关键字 继承 ...

  2. Java面向对象三大特征:封装、继承、多态

    一.封装   封装这个词听起来好象是将什么东西包裹起来不要别人看见一样,就好象是把东西装进箱子里面,这样别人就不知道箱子里面装的是什么东西了.其实 JAVA 中的封装这个概念也就和这个是差不多的意思. ...

  3. 简述java对象的封装特点_简述Java面向对象三大特征:封装、继承、多态

    前面是一个引用类型变量后面是一个类,用于判断前面的对象是否是后面的类的实例,如果是返回true,若不是返回false,避免了ClassCastException. public interface A ...

  4. Java面向对象三大特征---继承

    系列文章目录 Java面向对象三大特征-多态 Java面向对象三大特征-封装 文章目录 系列文章目录 前言 一.概念 二.举例说明 三.语句格式 三.为何要使用继承 四.super与this关键字 五 ...

  5. JAVA面向对象三大特征:

    JAVA面向对象三大特征: 1.封装 (英语:Encapsulation)是指一种将抽象性函式接口的实现细节部份包装.隐藏起来的方法. 封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的 ...

  6. Java 面向对象三大特征

     面向对象三大特征: 封装性 继承性 多态性 1. 封装性  所谓封装,也就是把客观事物封装成抽象的类,并且类可以把自己的属性和方法只给特定的对象或其他类进行访问,即使用不同的访问统治权限使类被不同的 ...

  7. Java面向对象三大特征的理解

    面向对象三大特征的理解 初始理解 封装 继承 多态 初始理解 其实这些知识很早就有接触,而且一些概念也牢记于心了.自己叙述面向对象的特征会是这样的: 面向对象的三大特征是封装.继承和多态.封装是对代码 ...

  8. 面向对象三大特征(封装、继承、多态)详解

    面向对象的三大特征 万物皆可归类,类是对于世界事物的高度抽象,不同的事物有不同的关系:一个类自身与外界的封装关系:一个父类与子类的继承关系:一个类和多个类的多态关系. 万物皆对象,对象是具体的世界事物 ...

  9. 春风桃李花开夜,秋雨梧桐叶落时——python面向对象三大特征(封装、继承、多态)

    九重城阙烟尘生,千乘万骑西南行. 翠华摇摇行复止,西出都门百余里. 六军不发无奈何,宛转娥眉马前死. 花钿委地无人收,翠翘金雀玉搔头. 君王掩面救不得,回看血泪相和流. 黄埃散漫风萧索,云栈萦纡登剑阁 ...

最新文章

  1. pandas根据数据类型筛选数据
  2. C# SharpMap 学习总结
  3. 一个rshinyapp的学习视频就是2个小时,看来李刚民老师说的是对的,最重要的是快速学习一个语言并且实践的能力
  4. Abstract class虚拟类
  5. win7下.NET 2.0未在web服务器上注册的问题
  6. MySql连接查询与联合查询
  7. python交互模式切换_Python 交互式窗口 (REPL) - Visual Studio | Microsoft Docs
  8. 大牛书单 | 搜索大牛都读什么书?
  9. 多线程与高并发(五):强软弱虚四种引用以及ThreadLocal的原理与源码
  10. 真机运行报错:Could not change executable permissions on the application
  11. 【算法设计与分析】07 算法的数学基础
  12. SSM整合(相关jar包需求)
  13. Python -- 数据加载、存储与文件格式
  14. JAVA如何选中一行上移_js操作table中tr的顺序实现上移下移一行的效果
  15. 数据预处理第7讲:具有离群点数据的缩放方法比较
  16. 如何正确地使用arXiv平台
  17. 小球碰撞(理解ing)
  18. 蓝桥杯c语言必备知识点,C语言知识点大汇总
  19. 海克斯棋开源程序 FutaHex2 编译教程
  20. lzg_ad:XPE镜像文件部署详解

热门文章

  1. [国产单片机] 聊聊曾经那些很火的单片机
  2. 无人驾驶 -- 自行车模型感悟
  3. 【行研报告】2021年中国手机游戏行业研究报告—附下载
  4. 信用与贷款的关系(二)
  5. Mysql要在表s中增加一列可用什么语句_要在基本表S中增加一列CN(课程名),可用语句()_学小易找答案...
  6. 某国的个人所得税草案规定,个税的起征点为 3000 元,分成 6 级,税率情况见 下表,从键盘上输入月工资,计算应交纳的个人所得税。 15 级数 工资 税率 (%) 1 3000至4500 5 2 4
  7. 智慧工地安全帽识别系统 YOLOv7
  8. 如何利用悟空CRM实现售后服务派工单管理
  9. 基于低保真产品原型实战的Axure学习
  10. daysmatter安卓版_倒数日days matter下载-倒数日days 安卓版v1.0.2-PC6安卓网