乔帮主告诉你什么是面向对象
来源:互联网 发布:优化教育环境 编辑:程序博客网 时间:2024/06/09 17:37
对于面向对象编程(OOP)这个概念,至今为止我还未见过有人能比乔布斯诠释得更加透彻。乔布斯从来没有接受过正式的工程训练,但是他对于自己所做的和所说的都有非常清晰的思路,无论是技术、设计还是艺术。
早在1994年,Rolling Stone对乔布斯有一个采访。在那个年代,面向对象仍然是一个很潮的概念,能够理解并付出实践的人并不多,而乔布斯却给公众定义了什么是面向对象。
Jeff Goodell:
请你用尽量简练的语言解释一下,究竟什么是面向对象的软件?
乔布斯:
对象就像人一样,也是活生生的生命。
他们有知识,知道怎么完成任务;他们有记忆,可以把发生的事情记下来。你和他们不在低层次上交互,而是像我们现在的对话一样,在一个高度抽象的层面上交互。
我举个例子来说明。
如果我是你的“洗衣”对象,你可以把脏衣服给我,然后告诉我说:“请帮我把这些衣服洗了吧!”。
//一个对象调用另一个对象,“洗衣”对象对外提供一个洗衣方法
而我恰好知道旧金山最好的洗衣房在哪,并且我会说英语,兜里也有美元。于是我出门打了一辆出租车,告诉司机带我去位于旧金山的洗衣房。我到了那里洗好衣服之后,又坐车回到这里。我把洗好的衣服交还给你,说:“你的衣服已经洗好了。”。
//“洗衣”对象中洗衣方法的实现过程
你并不知道我是怎么做到的。你不知道哪里有洗衣店,也可能只会说法语,或者是兜里没钱,连车都打不了。但是我知道怎么完成这项任务,而你不需要知道任何细节。
//“洗衣”对象中洗衣方法的实现并不对外暴露,外界并不知道、或者说并不需要知道它的具体实现
所有的这些复杂流程都隐藏在我的内部,而我们之间可以高度抽象地互动,这就是对象。他们把复杂过程封装在内部,而对外呈现的接口是高层次的,抽象的。
所谓面向对象,就是将功能、属性高度封装在某个对象中,对外的暴露永远是最简单最抽象的
- 乔帮主告诉你什么是面向对象
- 乔帮主告诉你什么是面向对象
- 最简单的例子告诉你什么是面向对象(java)
- 告诉你什么是SaaS
- 告诉你什么是“五险一金”
- 告诉你什么是“五险一金”
- 告诉你什么是“五险一金 ”
- 告诉你什么是“五险一金”
- 告诉你什么是多线程
- 面试官问你什么是面向对象?
- 告诉你什么是MB、MQ?
- 告诉你什么是数据分析
- 小故事告诉你什么是ERP
- 通俗易懂的告诉你:什么是民主!
- 告诉你究竟什么是真正的pushmail
- 眼泪会告诉你什么是伤痕!
- 清华学生告诉你什么是清华!
- 认识单片机-大白话告诉你什么是单片机
- HIVE和HBASE区别
- WebService怎么理解和JDK1.4下使用WebService
- linux学习9:关机相关指令
- 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar..)
- 当tableview滑到底部,点击cell出现的下拉框无法显示的问题
- 乔帮主告诉你什么是面向对象
- Android学习笔记--Context到底是什么?
- bitmap的六种压缩方式,Android图片压缩
- Android、IOS JavascriptBridge 兼容方案
- HDU 4417 (二分 + 区间第k大)
- 图像基本概念
- JAVA命名规则
- Spring AOP实现日志记录
- Oracle与MySQL的几点区别