[TOC]
## 什么是面对对象
```
是一种思想,java就是一种面对对象的语言,JavaScript是面向过程的。
把数据及把数据的操作方法放在一起,作为一个整体,用户只需要操作这个整体,就是面对对象
```
## 面对对象的三大特征
### 封装,继承,多态
> 封装:封装就是隐藏对象属性,实现方法,及对外开放接口,用户通过接口操作对象,
> 封装的目的是:简化编程,增强安全性,使用者不用了解实现过程,只需操作结果即可
> 继承 :就是子类拥有父类的特征和行为,提高了代码的复用性
> 多态:同一个行为有多个表现形式,
> 多态好处:消除类型间的耦合关系,可替代,可扩充,简化,
### 多态的三个必要条件
```
继承
重写(子类继承父类后对父类方法进行重新定义)
父类引用指向子类对象
```
### js定义对象的方法
- 字面量
~~~
person={
name:"小米",
age:23
};
~~~
```
function 构造函数(){
this.属性;
}
构造函数.原型.方法=function(){};
var 对象1=new 构造函数();
对象1.方法();
```