什么是面向对象编程--Quora上被Vote7.3K的回答(来自Steve Jobs)

Here, in an excerpt from a 1994 Rolling Stone interview, Jobs explains what object-oriented programming is.

Jeff Goodell: Would you explain, in simple terms, exactly what object-oriented software is?
Steve Jobs: Objects are like people. They’re living, breathing things that have knowledge inside them about how to do things and have memory inside them so they can remember things. And rather than interacting with them at a very low level, you interact with them at a very high level of abstraction, like we’re doing right here.
Here’s an example: If I’m your laundry object, you can give me your dirty clothes and send me a message that says, “Can you get my clothes laundered, please.” I happen to know where the best laundry place in San Francisco is. And I speak English, and I have dollars in my pockets. So I go out and hail a taxicab and tell the driver to take me to this place in San Francisco. I go get your clothes laundered, I jump back in the cab, I get back here. I give you your clean clothes and say, “Here are your clean clothes.”
You have no idea how I did that. You have no knowledge of the laundry place. Maybe you speak French, and you can’t even hail a taxi. You can’t pay for one, you don’t have dollars in your pocket. Yet I knew how to do all of that. And you didn’t have to know any of it. All that complexity was hidden inside of me, and we were able to interact at a very high level of abstraction. That’s what objects are. They encapsulate complexity, and the interfaces to that complexity are high level.

原问题链接:Here

时间: 2024-10-12 14:41:24

什么是面向对象编程--Quora上被Vote7.3K的回答(来自Steve Jobs)的相关文章

Python面向对象编程(上)

Python不仅支持面向过程编程,同时也支持面向对象编程.面向工程就是分析解决问题所需的步骤,然后用函数把这些步骤逐一实现,使用的时候再一个个调用函数就可以.面向对象则是把解决的问题按照一定规则划分为多个独立的对象,然后通过调用对象的方法来解决问题.在编写小程序(少于500行代码)时,使用面向过程编程基本上不会有任何问题.但对于中等和大型项目来说,面向对象将给代码的编写和维护带来很多优势.本文主要介绍Python中面向对象的基本概念. 面向对象基本概念 面向对象的特点主要可以概括为封装性.继承性

面向对象编程(上)

面向对象的相关概念 一.面向对象和面向过程的概念和关系面向对象和面向过程都属于一种思考方式面向对象侧重于 “谁来做”,以指挥者的角度思考问题,比较适合解决中大型的项目面向过程侧重于“怎么做”,以执行者的角度思考问题,比较适合解决较小型的项目 面向对象和面向过程不是完全独立的,而是相辅相成,不可分割 总结面向对象的思路:1.根据“名词抽取法”抽取问题中涉及到的对象2.根据问题中的需求,分析对象涉及到的属性和方法,进而根据共同点,往上抽取成“类”3.创建类,编写属性和方法4.根据类创建对象,并且使用

Javascript 进阶 面向对象编程 继承的一个例子

Javascript的难点就是面向对象编程,上一篇介绍了Javascript的两种继承方式:Javascript 进阶 继承,这篇使用一个例子来展示js如何面向对象编程,以及如何基于类实现继承. 1.利用面向对象的写法,实现下面这个功能,实时更新数据的一个例子: 2.使用对上面类的继承,完成下面的效果: 好了,不多说,js的训练全靠敲,所以如果觉得面向对象不是很扎实,可以照着敲一个,如果觉得很扎实了,提供了效果图,可以自己写试试. 1.第一个效果图代码: [javascript] view pl

C#面向对象编程 封装 继承 多态

  C#面向对象编程 什么是面向对象? 面向对象编程是上个实际六十年代继面向结构编程之后提出的一个新的编程思想 封装,继承,多态 封装,继承,多态是面向对象编程的核心: 封装是实现面向对象程序设计的第一步,封装就是将数据或函数等集合在一个个的单元中(我们称之为类).被封装的对象通常被称为抽象数据类型 意义是:保护数据不被破坏(例如一台电视机我们能使用它但是不能随意改变内部的电路) 关键字:private,public,protected,internal Public string name;

13 面向对象编程 - 《Python 核心编程》

?? 引言 ?? 面向对象编程 ?? 类 ?? 实例 ?? 绑定与方法调用 ?? 子类,派生和继承 ?? 内建函数 ?? 定制类 ?? 私有性 ?? 授权与包装 ?? 新式类的高级特性 ?? 相关模块 13.1 介绍 在Python 中,面向对象编程主要有两个主题,就是类和类实例 类与实例 如何创建一个类: class MyNewObjectType(bases): 'define MyNewObjectType class' class_suite #类体 关键字是class,紧接着是一个类名

python_way.day7 模块(configparser,xml,shutil,subprocess)、面向对象(上)(创建类,类的构成,函数式编程与面向对象编程的选择,类的继承)

python_way.day7 1.模块 configparser,xml,shutil,subprocess 2.面向对象(上) 创建类,类的构成,函数式编程与面向对象编程的选择,类的继承 1.模块 configparser 用于处理特定格式的文件,其本职上使用open来操作,只能是  [test1] 特定的格式 [test1] k1 = 123 k2 = True [test2] k1 = 123 k2 = v1 文件内容 1.获取 import configparser #打开文件找到文件

转载知乎上的一篇:“ 面向对象编程的弊端是什么?”

弊端是,没有人还记得面向对象原本要解决的问题是什么. 1.面向对象原本要解决什么(或者说有什么优良特性)似乎很简单,但实际又很不简单:面向对象三要素封装.继承.多态 (警告:事实上,从业界如此总结出这面向对象三要素的一刹那开始,就已经开始犯错了!). 封装:封装的意义,在于明确标识出允许外部使用的所有成员函数和数据项,或者叫接口. 有了封装,就可以明确区分内外,使得类实现者可以修改封装内的东西而不影响外部调用者:而外部调用者也可以知道自己不可以碰哪里.这就提供一个良好的合作基础--或者说,只要接

Python面向对象编程总结(上)

在我学习python之前一直认为python是脚本型语言,不能用面相对象的方法进行编程,当我学习了python之后我发现我错了,python不但支持面相对象而且使用的人还挺多的.我从接触编程开始就是学习的Java语言,所以面相对象编程的思想在我的脑海里根深蒂固,让我一下从面向对象编程转换到面向过程编程还有一些不适应呢,所以我就来总结一下python面向对象编程的方法和过程.我将按照面向对象的构成要素来分析,依次为类和实例.属性.方法.封装.继承.多态,如果有什么问题还请大家积极指出,我所用的版本

JavaScript 精粹 基础 进阶(8)OOP面向对象编程(上)

转载请注明出处 原文连接 http://blog.huanghanlian.com/article/5b698f14b8ea642ea9213f50 面向对象编程,oop并不是针对与javascript,很多语言都实现了oop这样一个编程发法论,比如说java,c++,都是实现了oop的语言. 概念与继承 概念 面向对象程序设计(Object-oriented programming OOP)是一种程序设计范型,同时也是一种程序开发的方法.对象指的是类的实例,它将对象作为程序的基本单元,将程序和