乔布斯回答什么是面向对象
2015-11-05 08:52
239 查看
摘自 1994 年 Rolling Stone 对乔布斯的采访
Jeff Goodell:请你用尽量简练的语言解释一下,究竟什么是面向对象的软件?
乔布斯:对象就像人一样,也是活生生的生命。他们有知识,知道怎么完成任务;他们有记忆,可以把发生的事情记下来。你和他们不在低层次上交互,而是像我们现在的对话一样,在一个高度抽象的层面上交互。
我举个例子来说明。如果我是你的“洗衣”对象,你可以把脏衣服给我,然后告诉我说:“请帮我把这些衣服洗了吧!”而我恰好知道旧金山最好的洗衣房在哪,并且我会说英语,兜里也有美元。于是我出门打了一辆出租车,告诉司机带我去位于旧金山的洗衣房。我到了那里洗好衣服之后,又坐车回到这里。我把洗好的衣服交还给你,说:“你的衣服已经洗好了。”
你并不知道我是怎么做到的。你不知道哪里有洗衣店,也可能只会说法语,或者是兜里没钱,连车都打不了。但是我知道怎么完成这项任务,而你不需要知道任何细节。所有的这些复杂流程都隐藏在我的内部,而我们之间可以高度抽象地互动。这就是对象。他们把复杂过程封装在内部,而对外呈现的接口是高层次的,抽象的。
Jeff Goodell:请你用尽量简练的语言解释一下,究竟什么是面向对象的软件?
乔布斯:对象就像人一样,也是活生生的生命。他们有知识,知道怎么完成任务;他们有记忆,可以把发生的事情记下来。你和他们不在低层次上交互,而是像我们现在的对话一样,在一个高度抽象的层面上交互。
我举个例子来说明。如果我是你的“洗衣”对象,你可以把脏衣服给我,然后告诉我说:“请帮我把这些衣服洗了吧!”而我恰好知道旧金山最好的洗衣房在哪,并且我会说英语,兜里也有美元。于是我出门打了一辆出租车,告诉司机带我去位于旧金山的洗衣房。我到了那里洗好衣服之后,又坐车回到这里。我把洗好的衣服交还给你,说:“你的衣服已经洗好了。”
你并不知道我是怎么做到的。你不知道哪里有洗衣店,也可能只会说法语,或者是兜里没钱,连车都打不了。但是我知道怎么完成这项任务,而你不需要知道任何细节。所有的这些复杂流程都隐藏在我的内部,而我们之间可以高度抽象地互动。这就是对象。他们把复杂过程封装在内部,而对外呈现的接口是高层次的,抽象的。
相关文章推荐
- cd命令
- 软件快速开发平台是什么
- 白发变黑五个锦囊
- ls命令
- 查看局域网内某个ip的mac地址
- static和const的应用和作用
- myeclipse6.5 反编译工具 jadclipse jad java反编译
- POJ 3347 Kadj Squares
- 内存管理器(十)kernel内存管理----数据结构
- 迭代器失效小结
- dll文件详解
- oracle 内存分配和调优 总结
- 体育IP 下一个互联网大坑你跳吗?
- EF Code First更新数据库时报错:provider: SQL Network Interfaces, error: 26
- 常用浏览器user_agent大全
- php中is_numberic()和var_dump()
- easyui删除treegrid的行
- CSS border 属性和 border-collapse 属性
- 解决eclipse中git插件中的cannot open git-upload-pack问题
- Eclipse is running in a JRE, but a JDK is required 解决方法(转)