浏览器并不是js的唯一的宿主环境。
理解oop语义中的
**属性**(对象特征)
**方法**(执行某些动作)
**类** 共同的组成特征
类更多是一种模板,而对象就是在这些模板的基础上被创建出来的。
**封装:**
通常两部分组成:相关的数据(用于存储属性);基于这些数据所能做的事(所能调用的方法)
信息隐藏,方法与属性的可见性、
**聚合**组合
将几个现有对象合并成一个新对象的过程。
可将一个问题分解成多个更小的问题。
**继承**
代码重用
js中,继承只发生在对象之间。
**覆写**
重新定义继承方法的过程叫覆写。
**多态**
不同对象通过相同的方法调用来实现各自行为的能力,成为多态。
![](https://box.kancloud.cn/e69ba149005fa6e7937ed9c20d195c0b_645x269.png)
![](https://box.kancloud.cn/9d9504482cc77e65a5591de38e5d8dde_571x309.png)