面向对象编程
两大编程思想
~ 面向过程~ 面向对象
面向过程编程 POP
~面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候再一个一个的依次调用就可以了
~举个例子:将大象装进冰箱,面向过程做法
1.打开冰箱门 -> 2.大象装进去 -> 3.关上冰箱门
面向过程,就是按照我们分析好了的步骤,按照步骤解决问题
面向对象编程 OOP
面向对象就是把事务分解成一个个对象,然后由对象之间分工与合作
举个例子:将大象装进冰箱,面向对象做法
先找出对象,并写出这些对象的功能:
- 大象对象
~ 进去 - 冰箱对象
~ 打开
~ 关闭 - 使用大象和冰箱的功能
面向对象是以对象功能来划分问题,而不是步骤
在面向对象程序开发思想中,每一个对象都是功能中心,具有明确分工
面向对象编程具有灵活,代码可复用,容易维护和开发的优点,更适合多人合作的大型软件项目
-
面向对象的特性:
- 封装性
- 继承性
- 多态性
面向过程和面向对象的对比
面向过程
~优点:性能比面向对象高,适合跟硬件联系很紧密的东西,例如单片机就采用的面向过程编程
~缺点:没有面向对象易维护,易复用,易扩展
面向对象
~优点:易维护,易复用,易扩展,由于面向对象有封装,继承,多态的特性,可以设计出低耦合的系统,使系统更加灵活,更加易于维护
~缺点:性能比面向过程低
ES6中的类和对象
ES6中新增了类的概念,可以使用class关键字声明一个类,之后以这个类来实例化对象
类抽象了对象的公共部分,它泛指某一大类(class)
对象特指某一个,通过类实例化一个具体的对象
类抽象了对象的公共部分,它泛指某一大类(class)
对象特指某一个,通过类实例化一个具体的对象
面向对象的思维特点:
~ 抽取(抽象)对象共用的属性和行为组织(封装)成一个类(模板)
~ 对类进行实例化,获取类的对象