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

//接口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
用一个或多个其他对象来扩展一个对象,返回被扩展的对象。

原文地址:https://www.cnblogs.com/luluping/p/1657038.html