1.什么是对象
对象是什么
面向对象编程(Object oriented Programming,缩写为OOP)是目前主流的编程范式。它将真实世界各种复杂的关系,抽象为一个个对象,然后由对象之间的分工与合作,完成对真实世界的模拟。 每一个对象都是功能中心,具有明确分工,可以完成接受信息、处理数据、发出信息等任务。对象可以复用,通过继承机制还可以定制。因此,面向对象编程具有灵活、代码可复用、高度模块化等特点,容易维护和开发,比起由一系列函数或指令组成的传统的过程式编程(procedural programming),更适合多人合作的大型软件项目。 那么,“对象”(object)到底是什么?我们从两个层次来理解。
1、对象是单个实物的抽象 一本书、一辆汽车、一个人都可以是对象,一个数据库、一张网页、一个与远程服务器的连接也可以是对象。 当实物被抽象成对象,实物之间的关系就变成了对象之间的关系,从而就可以模拟现实情况,针对对象进行编程。
2、对象是一个容器,封装了属性(property)和方法(method) 属性 是对象的 状态,方法 是对象的 行为(完成某种任务)。 比如,我们可以把动物抽象为animal对象,使用“属性”记录具体是那一种动物,使用“方法”表示动物的某种行为(奔跑、捕猎、休息等等)。
2.什么是面向对象
2.1 什么是面向对象? ECMAScript 有两种开发模式: 面向过程(pop) 面向对象(OOP)
面向对象的语言有一个标志,那就是类的概念,而通过类可以创建任意多个具有相同属性和方法的对象。但是,ECMAScript 没有类的概念,因此它的对象也与基于类的语言中的对象有所不同。
2.2 面向过程编程POP(Process-oriented progamming) 面向过程就是分析解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候再一个一个一次调用就可以了。 举个例子:将大象装进冰箱(需要几步),面向过程做法 1. 打开冰箱门 2. 大象装进去 3. 关山冰箱门 面向过程,就是按照我们分析好的步骤,按照步骤解决问题。
2.3 面向对象编程OOP(Object oriented progamming) 面向对象是把事务分解成一个一个对象,然后对象之间分工与合作。 举个例子:将大象装进冰箱(需要几步),面向对象做法。 先找出对象,并写出这些对象的功能: 1. 打开冰箱门 *进去 2. 冰箱对象 *打开 *关闭 3. 使用大象和冰箱的功能
2.4 面向对象,是以对象功能来划分问题,而不是步骤。 在面向对象程序开发思想中,每一个对象都是功能中心,具有明确分工。 面向对象编程具有灵活、代码可复用、容易维护 和 开发的优点,更适合多人合作的大型项目。
面向对象的特性: 1.封装性 2.继承性 3.多态性
2.5 面向过程和面向对象比较 面向过程: 优点:性能比面向对象高,适合跟硬件联系很紧密的东西,列如单片机就采用的面向过程编程。 缺点:没有面向对象易维护、易复用、易扩展。 面对对象: 优点:易维护、易复用、易扩展。由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使用系统,使系统更加灵活、更加易于维护。 缺点:性能比面向过程低。 用面向过程写出来的方法写出来程序是一份炒面,而用面向对象写出来程序是一份鸡蛋火腿炒面