接口起到的作用
来源:互联网 发布:java jdk 7u79 64位 编辑:程序博客网 时间:2024/04/29 10:00
对于调用者来说,接口或是类告诉了这个对象它所调用的对象的有什么样的的特性,可以做什么。
对于被调用者来说,接口或是类约束了被调用者的功能,如果这个对象希望被作为某些功能调用,它就必须实现一些接口。
而“类”比“接口”约束的更详细,也更复杂。“类”可以符合多个接口的规则。
封装过滤了不需要关注的信息,保留了用户希望关注的信息。例如一件东西,你用放大镜看到的和用显微镜看到的就完全不一样,你也可以看到分子结构。但是使用放大镜的时候却是无法看到的。
没有了封装,表面结构,光线,颜色分子结构,物理结构,化学结构都暴露在你面前了,你关注什么呢?如此多的特性又如何知道你需要关注的特性是否存在,是否可用呢?
或许你说我一看就知道该怎么用,那是因为你大脑中已经有了一个预期的接口,同时你很了解被调用对象的结构,知道这个对象符合你理想的接口规则。这样你才可以放心的调用。否则我给你一个int func(Type a)你知道这个函数可以干什么么?不知道!
但是程序不是一个人的事情,别人或许不需要知道你写了什么样的代码,只要知道这个代码的功能就可以了。封装的作用就是避免所有的人都去了解内部详细的构造。就象你买了一瓶去油剂,没有人会给你写详细的化学分子式或是详细的介绍分子运动模式,只是告诉你,这个东西喷在油上可以溶解油污。当然你随便拿一瓶去油剂都可以这样去用(因为符合了去油剂接口),不用每一瓶都去分析它的化学分子式。
是不是这样就一定要有一些东西隐藏起来呢?我认为没有必要,随着调用者的需求不同,甚至完全开放也是没有问题的,就象我们需要观察分子运动的时候也用办法看到分子运动一样,只是我们使用了另一个接口“分子构成对象”接口。
所以,封装不是必须的,而是根据需要进行的。如果你不希望别人使用的你的对象,你甚至可以隐藏所有的属性。但是显然,软件开发不是一个人的事情,你需要和别人合作,而封装就形成了一种公共的语言,不仅其他程序员可以理解,软件也可以理解。所以封装显然是有必要的,区别在于在不同的场合使用不同程度的封装。
资源也是一种对象,实际上资源应该是一种已经封装过的常用对象。我们调用资源的时候实际上也是依赖于一些我们期待的封装,只是这些封装没有用程序的方式表现出来。但是我们不得不承认,有一天我们的资源会改变,就象石油总有一天会用完。与其相信资源不会改变,为什么我们不使用封装的形式制定一些接口,要求资源必须符合这些接口?
- 接口起到的作用
- 接口起到的作用
- 7.Application对象的接口与起到的作用---Application对象工作机制
- 起到的C++是中间层的作用
- BufferedInputStream是怎样起到缓冲作用的?
- 信心在生活中起到了什么样的作用
- (3)ICE服务员起到的作用
- 观察者模式_起到控制器的作用
- mysql 外键的作用,级联操作,起到约束作用
- 添加的控件变量所起到的作用
- java工程中 不同的xml起到不同的作用
- 沟通在项目开发过程中起到的作用:举足轻重
- stdafx.h在C++中起到的作用是什么?
- Cassandra Commitlog在恢复中起到的作用
- stdafx.h在C++中起到的作用
- spring在SSH框架中起到的作用
- 工作中心的反冲按钮起到什么作用 ?
- 粉碎在选矿过程中起到的作用
- 如何将MySQL数据库移植为PostgreSQL
- GTK+图形界面编程
- 最新软件产业分析
- 剖析PHP中的输出 缓冲flush()
- 省市选择_js封装
- 接口起到的作用
- 海量数据处理分析
- js操作select
- 《屋檐三境》——梦天岚
- PATH & CLASSPATH
- 一个it老总对于新人的一点建议
- 灌水
- 如何将Apache-ode源码导入Eclipse
- 终于登陆了