乔布斯告诉你:什么是面向对象编程
2016-05-18 01:13
357 查看
面的这段话摘自 1994 年 Rolling Stone 对乔布斯的采访,乔布斯解释了什么是面向对象编程。
Jeff Goodell:请你用尽量简练的语言解释一下,究竟什么是面向对象的软件?
乔布斯:对象就像人一样,也是活生生的生命。他们有知识,知道怎么完成任务;他们有记忆,可以把发生的事情记下来。而你和他们的互动并不是低层次的,你是与他们在一个高度抽象的层面上互动,就像我们现在的对话一样。
我举个例子来说明。如果我是一个“洗衣”对象,你可以把脏衣服给我,然后告诉我说:“请帮我把这些衣服洗了吧!”而我恰好知道旧金山最好的洗衣房在哪,并且我会说英语,兜里也有美元。于是我出门打了一辆出租车,告诉司机带我去位于旧金山的洗衣房。我到了那里洗好衣服之后,又坐车回到这里。我把洗好的衣服交还给你,说:“你的衣服已经洗好了。”
你并不知道我是怎么做到的。你不知道哪里有洗衣店,也可能只会说法语,或者是兜里没钱,连车都打不了。但是我知道怎么完成这项任务,而你不需要知道任何细节。所有的这些复杂流程都隐藏在我的内部,而我们之间可以高度抽象地互动。这就是对象。他们把复杂过程封装在内部,而对外呈现的接口是高层次的,抽象的。
Jeff Goodell:请你用尽量简练的语言解释一下,究竟什么是面向对象的软件?
乔布斯:对象就像人一样,也是活生生的生命。他们有知识,知道怎么完成任务;他们有记忆,可以把发生的事情记下来。而你和他们的互动并不是低层次的,你是与他们在一个高度抽象的层面上互动,就像我们现在的对话一样。
我举个例子来说明。如果我是一个“洗衣”对象,你可以把脏衣服给我,然后告诉我说:“请帮我把这些衣服洗了吧!”而我恰好知道旧金山最好的洗衣房在哪,并且我会说英语,兜里也有美元。于是我出门打了一辆出租车,告诉司机带我去位于旧金山的洗衣房。我到了那里洗好衣服之后,又坐车回到这里。我把洗好的衣服交还给你,说:“你的衣服已经洗好了。”
你并不知道我是怎么做到的。你不知道哪里有洗衣店,也可能只会说法语,或者是兜里没钱,连车都打不了。但是我知道怎么完成这项任务,而你不需要知道任何细节。所有的这些复杂流程都隐藏在我的内部,而我们之间可以高度抽象地互动。这就是对象。他们把复杂过程封装在内部,而对外呈现的接口是高层次的,抽象的。
相关文章推荐
- leetcode_c++:Search insert position(035)
- 【C语言】迷宫游戏设计思路与功能体会及简单的改进报告
- Scala函数式编程原理 第二课 编程的本质(Elements of programing)
- SpringMVC Controller 介绍
- Java中的匿名内部类总结
- Spring-android源码初探
- python 类型转换及一些内容编辑
- Java中的抽象类
- PHP正则:
- leetcode_c++:Search for a Range(034)
- SSH整合教程(struts2+spring3+hibernate3)(含登陆示例)
- eclipse+android开发环境
- ruby 的 require require_relative
- SpringMVC的各种参数绑定方式
- python连接HBase
- 【C语言】C语言32个关键字简介和9种控制语句
- MyEclipse+Mysql (二)
- Azure File文件共享(6):使用Python开发
- C++ STL实例(一)
- Java:interrupt()、interrupted()、isInterrupted()