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();

posted @ 2013-01-23 16:15  ki_tom  阅读(146)  评论(0编辑  收藏  举报