js面向对象开发:
面向对象特点:抽象、封装、继承、多态。
js面向对象开发的思维方式主要有:
1.抽象:建立对象,对象包括属性以及方法,例如
var people={
name:“test”,
age:25,
gender:男,
setName:function(name){
this.name=name;
},
getName:function(){
return this.name;
}
}
2.封装:封装常用的处理函数
var common=function(){
init:function(){
alert("init");
},
destroy:function(){
alert("destroy");
}
}
3.继承:构造函数继承,原型继承
构造函数继承:
var father=function(){
this.name="fa";
this.say=function(){
alert("hello");
}
};
var child=function(){
this.age=16;
father.call(this);
}
var man=new child();
man.say();
alert(man.name+"--"+man.age);
原型继承:
var father=function(){};
father.prototype.a=function(){};
var child=function(){};
//开始继承
child.prototype=new father();
var man=new child();
man.a();
4.多态
构造函数继承不支持多种继承,原型继承可以支持多种继承,只需要写好extend对对象进行扩展
5.重写以及重载区别
重写:子类覆盖父类的方法,要求函数名相同,参数相同
重载:指构造函数重载,函数名相同,参数不同,方法体也不同