面向对象:注重对象。相当于一个指挥官,将工作分配给相对应的对象即可。
面向对象的主要特征:
-
封装性
封装指的是隐藏内部的实现细节,只对外开放操作接口。接口就是对象的方法,我们只需要知道如何使用接口。以计算机为例,计算机的实现原理相当复杂,作为用户的我们只需要学会操作键盘和鼠标即可。
-
继承性
继承是一个对象继承另一个对象的成员,在不改变另一个对象的前提下进行扩展。
以动物为例,猫和狗都属于动物,程序中则是猫和狗继承自动物。波斯猫和巴厘猫都继承自猫科,沙皮狗和斑点狗都继承自犬科。他们的继承关系如下图所示。
-
多态性
多态指的是同一个操作作用于不同的对象,会产生不同的执行结果。JavaScript被设计成一种弱类型语言(即一个变量可以存储任意类型的数据),就是多态性的体现。
面向过程:注重具体的步骤。相当于一个执行者,凡是需要自己亲历亲为。
面向过程的主要特征:
分析解决问题的步骤,利用函数一一实现,依次调用。
- 容易出现命名冲突
- 难以维护、复用
- 不利于中大型项目开发