置顶随笔

JAVASCRIPT继承方如此简单

       看了很多的js继承方式都觉得不是很好,总是觉得不是很方便,用起来也不顺。所以一直在查这方面的资料思考这个问题,终于有所收获。忍不住要贴出来与大家共享,让大家一起享受javascript继承的快乐。

优点:只要声明一个简单的函数即可方便使用JAVASCRIPT的继承,使用方法也只要一行代码调用继承方法即可,调用方式非常自然。
        

下面是示例源代码:
   <script>
    /**
       首先给Object类添加继承方法extends,
       前两句起继承父类的作用,使得调用的子类能够获得父类的所有属性和方法
       后一句保存对一个对父类的引用,以便在需要的时候可以调用父类的方法
       如果不需要使用父类的方法,最后一句可以删除
       方法名不能为extends,因为IE认为是关键字不让用火狐下是可以的。属性superClass也不能用super,也是关键字。不然看起来就更舒服了(那就太像java了)。
    */
    Object.prototype.extend = function(SuperClass){
      this.SuperClass=SuperClass;
      this.SuperClass();
      this.superClass=new SuperClass();
    }
   //下面是示例代码
    //声明父类:第一个方法show将得到继承,第二个方法将被覆盖
    function SuperClass(){
      this.show=function(){
        alert('Call SuperClass.show()');
      }
      this.override=function(){
        alert('Call SuperClass.override() width "superClass.override()"');
      }
    }
    //声明子类:继承父类,同时覆盖了父类的方法override
    function SubClass(){
      //调用继承方法继承父类的属性和方法
      this.extend(SuperClass);
      this.override=function(){
        alert('I have overrided SuperClass.override method.\nCall SubClass.override()');
      }
    }
    //测试继承的结果:
    var s=new SubClass();
    s.show(); //将调用父类的方法
    s.override();//将调用子类覆盖后的方法
    s.superClass.override();//将调用父类的override方法
 </script>

posted @ 2006-11-07 13:09 卧龙山 阅读(4624) | 评论 (0)编辑 收藏

2008年2月16日

     摘要: 好的公司一定是做乘法的公司。微软和Google的不同。比如微软里的一个工具,可以方便的做出单机,或者局域网环境的好的系统 - 微软工具的快速开发是被业界称道的,但是他没有办法把自己的数据中心向员工开放,因为,从本质上来说,微软不是一个围绕着数据中心起家的公司,微软的数据中心的成本,也不足以支撑这个体系。  阅读全文
posted @ 2008-02-16 15:14 卧龙山 阅读(135) | 评论 (0)编辑 收藏

2006年12月12日

     摘要: 多种WEB应用编程常用的语言、标准、框架和程序库的API查询网站,用AJAX方式查询非常不错。

目前支持HTML、CSS、JavaScript/HTML DOM、XML、Druapl CMS、PHP、Ruby/Rails、Python、Perl、Marcomedia、C/C++,Libraries、Databases、Java,且将来会支持更多的API。
  阅读全文
posted @ 2006-12-12 08:57 卧龙山 阅读(350) | 评论 (0)编辑 收藏

2006年11月7日

javascript的多根继承和多层继承

上篇文章贴出后又想了两个问题:

  1. 能否支持多根继承?
  2. 能否支持多层继承?

仔细一想,多层继承上篇文章的代码已经实现。多根继承则需要进一步完善extend方法。于是有了下面的代码,使用方法很简单。只要一句话可以轻松实现对多个父类的继承。

下面是详细的示例源代码。欢迎交流,QQ:27234687 。
读者可以自行修改后点【测试】按钮查看输出结果。

posted @ 2006-11-07 13:10 卧龙山 阅读(854) | 评论 (0)编辑 收藏
 

JAVASCRIPT继承方如此简单

       看了很多的js继承方式都觉得不是很好,总是觉得不是很方便,用起来也不顺。所以一直在查这方面的资料思考这个问题,终于有所收获。忍不住要贴出来与大家共享,让大家一起享受javascript继承的快乐。

优点:只要声明一个简单的函数即可方便使用JAVASCRIPT的继承,使用方法也只要一行代码调用继承方法即可,调用方式非常自然。
        

下面是示例源代码:
   <script>
    /**
       首先给Object类添加继承方法extends,
       前两句起继承父类的作用,使得调用的子类能够获得父类的所有属性和方法
       后一句保存对一个对父类的引用,以便在需要的时候可以调用父类的方法
       如果不需要使用父类的方法,最后一句可以删除
       方法名不能为extends,因为IE认为是关键字不让用火狐下是可以的。属性superClass也不能用super,也是关键字。不然看起来就更舒服了(那就太像java了)。
    */
    Object.prototype.extend = function(SuperClass){
      this.SuperClass=SuperClass;
      this.SuperClass();
      this.superClass=new SuperClass();
    }
   //下面是示例代码
    //声明父类:第一个方法show将得到继承,第二个方法将被覆盖
    function SuperClass(){
      this.show=function(){
        alert('Call SuperClass.show()');
      }
      this.override=function(){
        alert('Call SuperClass.override() width "superClass.override()"');
      }
    }
    //声明子类:继承父类,同时覆盖了父类的方法override
    function SubClass(){
      //调用继承方法继承父类的属性和方法
      this.extend(SuperClass);
      this.override=function(){
        alert('I have overrided SuperClass.override method.\nCall SubClass.override()');
      }
    }
    //测试继承的结果:
    var s=new SubClass();
    s.show(); //将调用父类的方法
    s.override();//将调用子类覆盖后的方法
    s.superClass.override();//将调用父类的override方法
 </script>

posted @ 2006-11-07 13:09 卧龙山 阅读(4624) | 评论 (0)编辑 收藏
仅列出标题