什么是面向对象编程?

  • A+
所属分类:JavaScript
摘要

什么东西可以抽象成对象呢?记住一点:万物皆对象。你可以把一张桌子抽象成一个对象,你可以把一把椅子抽象成一个对象,你还可以把时间也成抽象成一个对象。只要是程序里需要的东西,你都可以把这个东西抽象成对象,不管他是一个实际存在的实物还是一个概念性的东西都可以!

“面向对象编程”(Object Oriented Programming,缩写为OOP)是目前主流的编程范式。它的核心思想是将真实世界中各种复杂的关系,抽象为一个个对象,然后由对象之间的分工与合作,完成对真实世界的模拟。传统的面向过程(procedural programming)由一系列函数或一系列指令组成,而面向对象编程的程序由一系列对象组成。每一个对象都是功能中心,具有明确分工,可以完成接受信息、处理数据、发出信息等任务。因此,面向对象编程具有灵活性、代码的可重用性、模块性等特点,容易维护和开发,非常适合多人合作的大型软件项目。“对象”是一个容器,封装了“属性”(property)和“方法”(method)所谓“属性”就是对象的状态;所谓“方法” 就是对象的行为(完成某种任务)。比如,我们可以把动物抽象为animal对象,“属性”记录具体是那一种动物,“方法”表示动物的某种行为(奔跑、捕猎、休息等等)。

举个例子:

你在家里闲的无聊想要烧水泡茶喝。那么你需要做的事情是:

1.把锅刷一下

2.烧开水

3.洗一下杯子

4.在杯子里放入开水、茶叶泡茶

5.喝茶

以上是一个再正常不过的事情了,有问题吗?完全没有问题啊,我们平时都是这样去做的,但是在编程的这个过程中却是有问题的。如果我现在想要炒菜、下面条吃、煮大米饭那么上面那个过程是不是还需要在列一遍?第一步骤刷锅,放入水,放入需要的东西..... 也就是说遇到一件事,我要不真个流程罗列一遍,这是非常不好的。

但是如果我们不再关注整个事件的过程,而只关注这个事件中出现的对象的时候。那么整个代码的复杂度就降低的非常多了!

比如我们把这口抽象出来,用代码来描述他。那么它就会有一些特点和功能。这口锅的特点就是对象里的属性,这口锅的功能就是对象里的方法。

什么是面向对象编程?

有了这口锅以后。比如我们需要烧水了我们就直接对锅说 : 锅烧水去吧!我们需要炒菜了就直接对锅说:锅炒菜去吧!........那么这个就是面向对象编程了,我们只关注业务中出现的对象,而不再关注具体的实现细节。

什么东西可以抽象成对象呢?记住一点:万物皆对象。你可以把一张桌子抽象成一个对象,你可以把一把椅子抽象成一个对象,你还可以把时间也成抽象成一个对象。只要是程序里需要的东西,你都可以把这个东西抽象成对象,不管他是一个实际存在的实物还是一个概念性的东西都可以!

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: