• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

    Extjs中使用extend(js继承) 的代码

    发布者: 姬7089 | 发布时间: 2025-8-13 13:31| 查看数: 68| 评论数: 0|帖子模式

    注:抄<深入浅出Extjs>书
    传统的js实现继承操作为:
    一:定义一个父类

    var BaseClass = function(){
    //.....
    };
    BaseClass.prototype.someMethod = function(){
    //.....
    };
    BaseClass.prototype.overridenMethod = function(){
    //....
    }

    为BaseClass定义两个函数someMethod 和overridenMethod ,,然后定义一个subClass子类,可以直接从BaseClass中继承所有的属性和函数,

    var subClass = function(){
    BaseClass.call(this);
    };
    subClass.prototype = new BaseClass();
    subClass.prototype.newMethod = function(){
    //...
    };
    subClass.prototype.overridenMethod = function(){
    //...
    }

    在上面的代码中,subClass的构造函数首先调用BaseClass的构造函数初始化数据,然后通过subClass.prototype = new BaseClass();这条语句让subClass类获得BaseClass中的所有属性和函数。这样就实现了继承。在此之后我们就可以操作subClass的prototype,为子类添加新的函数或者覆写父类的同名函数。
    在EXT中使用Ext.extend()函数实现继承功能的方法:

    var subClass = function(){
    subClass.superclass.costructor.call(this);
    };
    Ext.extend(subClass, BaseClass,{
    newMethod: function(){
    //...
    },
    overridenMethod : function(){
    //....
    }
    });

    在Ext.extend()函数通过 subClass.superclass.costructor.call(this);就可以直接调用父类的构造函数。这个函数的第一个参数总是this, 以确保父类的构造函数在子类的作用域里工作。
    如果父类的构造函数需要传入参数,我们也就可以将所需要的参数直接传给它,如:
    subClass.superclass.costructor.call(this, config);
    这样我们就得到了一个继承了父类的所有属性和函数的子类。
    来源:互联网
    免责声明:如果侵犯了您的权益,请联系站长(1277306191@qq.com),我们会及时删除侵权内容,谢谢合作!

    最新评论

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表