封装的多种实现
2010-04-30 14:26
141 查看
封装的多种实现
面向对象的软件系统有四个要素-抽象、封装、继承和多态。封装一般解释是将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,隐藏内部的数据和实现细节,仅对外公开接口,便于复用,提高了效率。封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是通过外部接口特定的访问权限来使用类的成员。
在不同的环境中,封装有不同的表现形式,封装不是OOP的专利,封装无处不在,例如在语句、函数、类、组件、系统级别都要使用封装。封装的结果是信息隐藏,把访问接口和具体实现相分离。被封装的实体需要满足职能单一原则,有高内聚性,这样的封装才能够被容易的复用和维护。
1 代码级封装:例如使用具名常量而不是字面常量就是封装的一种实现。
2 函数级封装:通过函数的签名来访问函数而隐藏具体代码。
3 类的封装:接口和实现的分离。
4 组件的封装:通过一个协调者类访问组件。
5 子系统的封装:通过一个门面类访问子系统。
相关文章推荐
- JavaScript 面向对象(封装、继承、多态)多种方式实现完全总结
- 一种封装多种实现的RPC设计
- 封装RecyclerView Adapter 实现可添加多个header和footer,可设置loadingView,低耦合的多种布局。
- Android Activity切换动画多种实现方式与封装
- Unity Update()计时器封装 可实现多种时间的操作
- java视频音频解码-封装xuggle-实现多种视频编码格式解码扩展
- 自己封装的数据源(支持多种数据库访问,内部实现线程池 基于bonecp)
- 一种封装多种实现的RPC设计
- 一个Windows C++的线程类实现(封装API,形成一个类,但不完善。其实可以学习一下Delphi的TThread的写法)
- C语言中利用封装好的函数实现英文字母的大小写转换
- asp.net实现动态显示当前日期时间——用asp自己封装的AJAX
- 实现对UIAlertController和UIAlertView判断系统后的简单封装
- ios实现H264裸流封装为FLV格式
- Spring学习总结(一)——Spring实现IoC的多种方式
- 判断一个字符串是否全是数字的多种方法及其性能比较(C#实现)
- 原生js实现对Ajax的封装(模仿jquery)
- Day36 JDBC 2 PrepareStatement和JDBC的封装以及MVC分层模式+员工管理系统的实现
- 简单封装PagerAdapter以支持多种类型的视图
- python封装Windows Event实现全局跨进程同步锁
- 基于Sentinel的Redis集群(主从&Sharding)的redis封装实现