`

Ext.extend方法是用来实现类的继承

    博客分类:
  • Ext
阅读更多
Ext.extend方法是用来实现类的继承。

extend
public function extend( Object subclass, Object superclass, [Object overrides] )
Extends one class with another class and optionally overrides members with the passed literal. This class also adds the function "override()" to the class that can be used to override members on an instance.
Parameters:

    * subclass : Object
      The class inheriting the functionality
    * superclass : Object
      The class being extended
    * overrides : Object
      (optional) A literal with members

Returns:

    * void

This method is defined by Ext.

第一个参数:子类
第二个参数:父类
第三个参数:要覆盖的属性。
这里需要强调一下,子类继承下来的是父类中通过superclass.prototype方式定义的属性(包括用此方法定义的函数)。
例子如下:
<script type="text/javascript">    
    function S(){   
    }   
    S.prototype.s = "s";   
    S.prototype.s1 = "s1";   
    function C(){   
        this.c = "c";   
        this.c1 = "c1";   
    }   
    Ext.extend(C,S,{s1:"by c overload"});   
    var c = new C();   
    alert(c.s); //s   
    alert(c.s1); //by c overload   
</script> 


如果按下面这个方式写就会提示c.s没有定义(undefind):
<script type="text/javascript">    
   function S(){   
      this.s = "s";   
      this.s1 = "s1";   
   }   
   function C(){   
      this.c = "c";   
      this.c1 = "c1";   
   }   
   Ext.extend(C,S,{s1:"by c overload"});   
   var c = new C();   
   alert(c.s); //undefind   
   alert(c.s1); //by c overload   
</script> 


也可以通过如下方式来实现类的继承:
<script type="text/javascript">    
   function S(){   
   }   
   S.prototype.s = "s";   
   S.prototype.s1 = "s1";   
   C = Ext.extend(S,{s1:"by c overload"});   
   var c = new C();   
   alert(c.s); //s   
   alert(c.s1); //by c overload   
</script>

此时,C是子类,S是父类
分享到:
评论

相关推荐

    Ext一些方法的重写

    在JavaScript的世界里,`Ext` 是一个非常知名的库,它为Web开发提供了丰富的组件和工具。...在深入研究`ext-extend.js`文件内容时,你将更全面地了解`Ext`库在实践中的运用,以及如何通过方法重写实现类的灵活定制。

    Ext继承和扩展

    通常,文件会包含多个类定义,每个类定义都是通过`Ext.extend()`来实现继承的。这些类可能包含特定的配置选项、方法重写、事件监听等。 ### 类的配置 `Ext`允许我们在类定义时提供配置对象,这可以用来初始化实例的...

    Ext继承分析

    在ExtJS中,`Ext.extend()` 是一个核心的...总之,`Ext.extend()`是ExtJS框架中实现类继承的核心工具。通过理解和熟练运用这个方法,开发者可以构建出具有强大继承关系的类结构,从而更好地管理和组织JavaScript代码。

    EXT dojochina Ext方法重写.rar

    2. **子类化(Subclassing)**:另一种方法是创建一个新的类,继承自EXT.js的已有类,并在子类中重写需要的方法。这通常涉及到`Ext.extend`函数的使用,通过它来定义新类并覆盖父类的方法。例如,如果你要创建一个...

    Ext.js核心函数详解.docx

    其核心函数提供了许多实用的功能,如对象配置、事件处理、ID管理、类继承、命名空间创建以及数组和对象操作等。以下是对这些核心函数的详细解析: 1. `Ext.apply(Object obj, Object config, Object defaults )`: ...

    ExtJs 带清空功能的日期组件

    可以通过`Ext.extend()`方法实现这一点。 ```javascript Ext.define('MyApp.form.field.ClearableDate', { extend: 'Ext.form.field.Date', alias: 'widget.clearabledatefield', // 添加其他配置项... }); ``...

    EXT dojochina Ext类继承.rar

    1. **Ext.extend()**:这是EXTJS中最基础的类继承方法。通过调用`Ext.extend(baseClass, subClass, overrides)`,可以创建一个新的子类,其中`baseClass`是父类,`subClass`是新创建的子类名称,`overrides`是一个...

    Ext.js核心函数详解.pdf

    6. **Ext.extend(Object subclass, Object superclass, [Object overrides])**:这是实现类继承的关键函数。`subclass`是子类,`superclass`是父类,`overrides`是子类要覆盖或扩展父类的方法。具体实现机制涉及原型...

    EXtJS学习 EXtJS学习

    在 EXTJS 中,`Ext.extend` 是核心的继承机制,允许我们创建类的层次结构,实现面向对象编程。然而,在使用 `Ext.extend` 进行继承时,需要注意一些潜在的问题,特别是涉及到共享状态,如数组成员时。 在上述例子中...

    ext面向对象和继承

    在EXTJS中,类通常通过`Ext.extend()`方法来定义,它创建了一个新的类,并继承自指定的父类。例如: ```javascript Ext.extend(ChildClass, ParentClass, { // 子类的方法和属性 }); ``` 这里的`ChildClass`是新...

    Ext Js权威指南(.zip.001

    4.4.3 所有继承类的基类:ext.base / 151 4.4.4 实现动态加载:ext.loader / 151 4.4.5 管理类的类:ext.classmanager / 159 4.4.6 类创建的总结 / 161 4.5 动态加载的路径设置 / 163 4.6 综合实例:页面...

    EXT dojochina Ext类构造方法.rar

    Ext类的构造方法通常以`Ext.extend()`开头,这是Ext JS中实现继承的关键方法。它接受两个参数:子类(派生类)和父类(基类)。通过这个方法,我们可以轻松地创建自定义组件或扩展已存在的组件,继承其属性和方法。 ...

    无废话ExtJs 系列教程十八[继承:Extend]

    继承在ExtJS中的实现主要基于`Ext.extend()`方法,这个方法是ExtJS提供的一个静态方法,它允许一个类(子类)继承另一个类(父类)的所有属性和方法。通过`Ext.extend()`,我们可以定义新的类,同时保留和扩展已存在...

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

    在Ext JS框架中,Ext.extend是用来实现JavaScript继承的一种方法。Ext JS是一个用于开发富交互式的Web应用程序的框架,它封装了复杂的DOM操作,提供了一套丰富的UI组件。在使用Ext JS开发时,使用Ext.extend可以创建...

    ExtJS ToolTip功能

    这行代码定义了一个名为`WebApp.view.tip.ToolTip`的新类,该类继承自`Ext.container.Container`。这意味着我们可以使用所有容器类的功能。 2. **布局配置**: ```javascript layout:{ type:'center', pack:'...

    Ext继承和扩展写的例子。

    例如,如果你想要创建一个新的表单字段,你可以让这个字段类继承自`Ext.form.field.Base`。 ```javascript Ext.extend(MyField, Ext.form.field.Base, { // 新的配置选项和方法 }); ``` 2. **Ext扩展**: ...

    ext继承重写

    EXT JS采用面向对象的编程方式,允许开发者通过继承机制来扩展类的功能,同时通过重写方法来定制或优化原有功能。 EXT JS中的“extend”关键字是实现继承的关键。当你创建一个新的类并声明它`extend`另一个类时,新...

Global site tag (gtag.js) - Google Analytics