【翻译】Java面向对象编程基本概念——封装
2016-08-03 15:16
225 查看
【翻译】Java面向对象编程基本概念——封装
原文地址:Java Encapsulation and its Relation With Abstraction大多数开发人员对封装与抽象之间的异同都存在一些疑惑。网络上也有很多相关的博文,但大多数都使我们更加迷茫。今天,就让我们来拨开迷雾见云天。
一、封装简述
将数据和方法打包至一个类型中,并隐藏相关的实现细节通常称之为封装。封装的结果是一个类型既拥有了属性也拥有了行为。本质看,封装包括信息隐藏和实现隐藏。二、洞察概念
“无论什么变化,将它封装起来”,这已经被引用成为一项著名的设计原则。软件的变化是无处不在的,运行时数据可能发生变化、未来的发布版本中实现可能发生变化。因此,封装既应用于封装数据也应该封装实现。访问控制或通过隐藏实现细节来为数据或类型设置边界有两个原因:1) 限定使用者什么可用,什么不可用;2) 将实现细节与接口隔离。
如果我们确定使用者只需要给公共的接口发送信息,其他的什么也不用做,那么我们就可以任意修改那些非公有的代码,而不影响使用者的代码。封装可以帮助我们实现上述目标。
三、与抽象的关系
抽象本质是想法,用来帮助我们制定原则。封装是机制,通过机制实现抽象的目的。从面向对象的分析与设计(OOAD)的角度来看:
+ 抽象更多的是关于一个类可以做什么。【想法】
+ 封装更多的是如何实现一个功能。【实现】
相关文章推荐
- 【翻译】Java面向对象编程基本概念——多态
- 【翻译】Java 面向对象编程基本概念
- 【翻译】Java面向对象编程基本概念——抽象
- 浅谈java基本类型的封装类型与对象池的概念
- 黑马程序员--03.Java面向对象--01.【OOP基本概念】【匿名对象】【封装】【构造函数】【this关键字】
- Java面向对象-面向对象编程之基本概念
- Java的面向对象编程基本概念学习笔记整理
- Java入门需掌握的30个基本概念
- 学习Java的30个基本概念
- 转Java的30个基本概念
- java入门的30个基本概念(转载)
- Java入门需掌握的30个基本概念
- Java入门需掌握的30个基本概念
- Java新手入门需要掌握的30个基本概念
- Java入门需掌握的30个基本概念
- Java入门需掌握的30个基本概念
- Java新手入门的30个基本概念 (对Java新手一定有用)
- java基本概念
- Java入门需掌握的30个基本概念
- 学习Java的30个基本概念