>

Hey,I'am Rander

基于jQuery,实现JS面向对象编程

2019-11-07 前端综合

关键字: Javascript 前端

复制代码
//接口1
var IClassName = {
        IgetName:
function(){
             getName.apply(
this);
        },
        IsetName:
function(){
            setName.apply(
this,arguments);
        }
}
//接口2
var IAlertName = {
        IAlert:
function(){
            printName.apply(
this);
        }
}
//父类
var superClass = function(){
        name 
= "superClass";
}
//子类
var subClass = function(){
        
//实现接口1方法
        getName = function(){
            
return name;
        }
        setName 
= function(_name){
            name 
= _name;
        }
        
//实现接口2方法
        printName = function(){
            alert(name);
        }
}
//让子类继承父类
subClass.prototype = new superClass();
//实现接口
 jQuery.extend(subClass.prototype,IClassName,IAlertName);
//子子类
var childClass = function(){
        
this.show = function(){
            alert(name
+" show");
        }
}
//使用该类
var s = new subClass();
//s.IsetName("ddd"); 
//
s.IAlert();

//让子子类继承子类
childClass.prototype = new subClass();
var c = new childClass();
c.IAlert();
c.IsetName(
"yyyy");
c.show();
复制代码

 

使用jQuery简化继承接口一块。

jQuery.extend(target,obj1,[objN])   return Object
用一个或多个其他对象来扩展一个对象,返回被扩展的对象。