ExtJS入门之一 类与继承

在项目中使用ExtJS已经有一段时间了, 对于这个庞大的Script类库有了一定的了解, 在Ext的使用上也有了一定的经验, 现将这些经验做一下总结, 作为一个入门材料给大家分享。 对于Ext库, 不要被它的庞大所吓倒, 只要静下心来看SDK, 多做一些练习, 还是很容易上手的。

ExtJS 中的类与继承

  在Ext下, 定义一个JavaScript类似乎没有什么特别的, 可以直接声明一个构造函数, 并使用关键字new来进行初始化。 有一点值得注意的是在Ext中频繁出现的Singleton类, 普遍定义为:

然后就可以直接调用Foo的方法了, 其实这段代码可以理解为

 
这样,就容易理解了。
谈到类和继承, 有几个函数必须注意, Ext.apply、 Ext.applyIf和Ext.extend:
  1. Ext.apply(obj, config, [defaults]) 将config对象的所有属性都复制到另一个对象obj上, 第三个参数defaults可以用来提供默认值, 不过通常指用前两个参数就够了。 这个函数主要用在构造函数中, 用来将配置复制到对象上。
  2. Ext.applyIf(obj, config) 和Ext.apply的功能类似, 唯一不同的是, 这个函数只会将config对象中有, 而obj对象中没有的属性复制到obj上。
  3. Ext.extend(subclass, superclass, [overrides]) 用来继承已有的类, 通常的使用方法是
    var SubClass = function() {    SubClass.superclass.constructor.call(this); }; Ext.extend(SubClass, BaseClass, {    newMethod : function() {},    overriddenMethod : function() {} };
    在上面的代码中, SubClass继承自BaseClass,  添加了新的方法newMethod, 重写了overriddenMethod方法。
     

个人认为, 要扎实的掌握ExtJS, 并且能够对原有类库进行扩展, 掌握以上的方法是必须的, 也是入门的必经之路。 

 

from:http://www.cnblogs.com/beginor/archive/2008/03/01/1086910.html 

时间: 2024-09-04 05:33:46

ExtJS入门之一 类与继承的相关文章

类的继承(Inheritance)

vb.net支持类的继承,允许用户定义一个类,作为其他类继承的依据,继承类能够继承.扩充基本类的属性和方法,继承类也可以重载基本类的一些方法,所有在Vb.net中建立的类缺省的属性都是可继承的.因为窗体现在看成了一个类,所以在vb.net中用户可以根据现有的窗体继承出一个新的窗体. 继承的一个目的就是使代码可以重用.有两种方法可以提高代码的重用率,合成(composition)和继承(Inheritance),一直以来,Visual Basic都支持合成这种方法来达到代码的重用,用户可以建立和重

C++类的继承与多重继承的访问控制

在前面的练习中我们一直在使用public的继承方式,即共有继承方式,对于protected和private继承方式,即保护继承与私有继承方式我们并没有讨论. 对于单个类来说,讨论保护继承与私有继承的区别意义是不大的,他们的区别只在多级继承的情况中体现. 在这里我声明一下,对于此章节的内容不太适合用过多的文字进行描述,主要还是看例子,通过例子熟悉之间的关系,过多的文字描述会模糊读者思路. 例程如下(重要部分都做了详细说明): //程序作者:管宁//站点:www.cndev-lab.com//所有稿

JavaScript设计模式学习之“类式继承”

 这篇文章主要介绍了JavaScript设计模式学习之"类式继承",本文直接用代码实例讲解类式继承的实现方法,需要的朋友可以参考下     在做一件事情之前,首先要清楚做这件事情的好处有什么,相信不会有哪个人愿意无缘无故的去做事情.一般说来,我们在设计类的时候,实际上就是希望能减少重复性的代码,使用继承可以完美的做到这一点,借助继承机制,你可以在现有类的基础上再次进行设计并且充分利用它们已经具备的各种方法,而对设计的修改也更为轻松.废话不多说了,举例说明: 代码如下: function

对象-oc 类的继承的实质,以及是怎样调用方法 和函数的

问题描述 oc 类的继承的实质,以及是怎样调用方法 和函数的 父类里声明的属性,会生成默认生成一个私有的成员变量.即不能被子类访问,那么子类通过继承得到了父类的属性,只能通过setter 和 getter 方法区访问父类的私有变量,那么这个私有变量不属于子类,那么在实例化这个子类的时候就没有这个私有变量,那么通过继承过来的setter 和getter方法访问的是什么,私有变量根本就没有生成啊! 同理在使用{}声明的私有变量同样可以在提供外部接口让外部访问,但是当子类继承后也可以通过生成实例对象,

obj-c编程04:类的继承

    这第4篇内容比较少,主要说的是obj-c中的类的继承,需要说明的是我只是写了继承中最简单的形式,如果全部展开来说,那就多了去了!关键是现在肚子里还没装够墨水,没法展开啊!     下面的代码中,我们写了2个类:父类A和子类B,然后B中对A中的方法做了重写. #import <Foundation/Foundation.h> @interface A:NSObject{ int i; } @property int i; -(void)print; @end @implementatio

java类的问题-java编程,有关类的继承,方法的覆盖等

问题描述 java编程,有关类的继承,方法的覆盖等 类Citizen,拥有identityCardNumber(String).name(String).gender(char).birthPlace(String).birthday(java.util.Date)属性,构造方法Citizen(String identityCardNumber, String name, char gender).Citizen(String identityCardNumber, String name, c

JPanel继承问题... 写了一个类,继承自JPanel,但是控件不显示,跪求求各位大牛...

问题描述 JPanel继承问题... 写了一个类,继承自JPanel,但是控件不显示,跪求求各位大牛... 在做一个世界各个国家的时间的一个Demo.写了一个继承自JPanel类的panel,里面简单的设置了一个Logo,国家名字,还有一个按秒跳动时间,现在的问题就是在这个panel上的控件都不显示了,调了好久了也没有找到原因,所以没办法了,特来求助各位大牛们..... 话不多说,直接贴代码: package timerDemo; import java.awt.BorderLayout; im

C#从自定义的窗口类中继承,设计界面无法使用

问题描述 C#从自定义的窗口类中继承,设计界面无法使用 在vs2008中新建一个智能设备项目,创建从Form继承的类 创建继承ChidForm的窗体,打开设计视图后就报错. public partial class Form1 : ChidForm { public Form1() { InitializeComponent(); } } 解决方案 你单步调试,跟踪进去InitializeComponent方法,一步步看看,里面估计有错误 解决方案二: design.cs一定要写好

变量-C#类的继承,C#有public,protected,private这几种继承之说吗??

问题描述 C#类的继承,C#有public,protected,private这几种继承之说吗?? 如果没有,那是以哪种形式继承: 如果父类 有1.private 变量,2.protected变量 ,3.public变量, 在子类中这几个变量是什么,是private .protected.public. 解决方案 没有,C#和C++不同,只有一种继承方式,相当于C++的public继承.也就是基类中的private成员,在派生类中不可见.另外,在C# 1.0的时代,C#的继承方式相当于priva