javascript中的面向对象

时间:2021-10-15 00:30:19

1、什么是面向对象?

js中一切都是对象!所有对象的底层都类似hash数组。

在程序中都是用一个对象来描述现实中一个具体的东西,所谓面向对象就是类的实例化。

现实中的一个东西都包含属性和功能:

  属性:描述一个东西特点的变量,一个值

  功能:东西可以执行的操作

什么是对象:封装多个数据和方法的存储空间

什么是自定义对象:封装现实中一个东西的属性和功能的存储空间。

现实中东西的属性会成为对象中的属性变量。

现实中东西的功能,会成为对象中的方法(函数)

创建对象的方式:

1. 对象直接量
var obj={"属性名":值,
    xxx:...,
"方法名":function(){ ...this.属性名... }
}
2. 使用New关键字
var obj=new Object(); //创建一个空对象
obj.属性名=值;
obj.方法名
=function(){...this.属性名...}
3. 利用构造函数*反复*创建*相同结构*的对象:
构造函数:描述一类对象结构的特殊函数
2步:
1. 定义构造函数
function Sumname(value1,.....){
this.属性名=属性参数1;
//在当前正在创建的对象中添加一个属性名
//赋值为属性参数1的值
...
this.方法名=function(){
...
this.属性名...
}
}
2. 利用构造函数创建对象:
var obj=new Sumname(value1,...);

2、面向对象有什么特点?

面向对象三大特点:封装  继承  多态

  封装:将描述同一个东西的属性和方法,定义在一个对象中

  继承:父对象中的属性和方法,子对象可直接使用

  多态:同一个对象,在不同情况下,呈现不同的状态

  注意: 重载->同一方法名,传入参数不同,执行不同的操作

      重写:子对象觉得父对象的成员不好用,可自己定义一个,覆盖父对象的成员