javascript中的面向对象
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、面向对象有什么特点?
面向对象三大特点:封装 继承 多态
封装:将描述同一个东西的属性和方法,定义在一个对象中
继承:父对象中的属性和方法,子对象可直接使用
多态:同一个对象,在不同情况下,呈现不同的状态
注意: 重载->同一方法名,传入参数不同,执行不同的操作
重写:子对象觉得父对象的成员不好用,可自己定义一个,覆盖父对象的成员
-----------------------------------------------------------------------小二给我来二两轮子!