现在的位置: 首页 > 综合 > 正文

javascrit类的外部继承和内部继承【原创】

2013年02月08日 ⁄ 综合 ⁄ 共 930字 ⁄ 字号 评论关闭
  由于java做多了,不习惯javascript类在类外部实现继承,找了点资料,实现了内部继承,就是在写类的时候,调用this.innerExtend(superClass),就可以继承superClass了。
  下面贴出2种方式:

/**
 * 在类定义外部实现继承
 
*/
Object.prototype.outerExtend
=function(superClass)
{
    
if (typeof superClass != 'function')
    {
        Status.showErrInfo(
"类继承错误:","<font color=red>由于超类结构有误,类外部继承失败!</font>","5秒后该提示自动消失");
        window.setTimeout(
"Status.setStatusShow(false)",5000);
        
return;        
    }
    
this.prototype = new superClass();
    
this.prototype.constructor = this//不加的话,constructor会为superclass
    this.superClass = superClass.prototype;    
}

/**
 * 在类定义内部实现继承
 
*/
Object.prototype.innerExtend
=function(superClass)
{
    
if (typeof superClass != 'function')
    {
        Status.showErrInfo(
"类继承错误:","<font color=red>由于超类结构有误,类内部继承失败!</font>","5秒后该提示自动消失");
        window.setTimeout(
"Status.setStatusShow(false)",5000);
        
return;        
    }
    
this.superClass = superClass;
    
this.superClass();
}

  大家慢慢看。

抱歉!评论已关闭.