`
lorry1113
  • 浏览: 263390 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ExtJS 中的类与继承

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

ExtJS 中的类与继承

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

image_thumb6

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

image_thumb9

这样,就容易理解了。

谈到类和继承, 有几个函数必须注意, 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, 并且能够对原有类库进行扩展, 掌握以上的方法是必须的, 也是入门的必经之路。
分享到:
评论

相关推荐

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

    在"无废话ExtJS系列教程十八[继承:Extend]"中,我们主要关注的是ExtJS中的类继承机制,这是一个核心特性,它允许开发者创建可复用和可扩展的组件结构。在JavaScript中,继承是通过原型链实现的,而在ExtJS中,它被...

    轻松搞定Extjs 带目录

    - **类的定义**: Extjs中的类继承于JavaScript原生类,通过Ext.extend来定义。这是Extjs实现面向对象编程的基础。 - **命名空间**: 命名空间在Extjs中用于组织和管理代码,避免变量和函数名的冲突。 #### 3. Extjs ...

    ExtJS中文手册.pdf

    - **继承机制**:ExtJS支持面向对象编程中的继承特性,可以扩展现有的组件类。 - **继承示例**:文档中给出了一些具体的继承示例,帮助理解继承的用法。 #### 22. 补充资料 - **Ext2概述**:介绍了ExtJS 2版本的...

    中文ExtJS2.0.CHM

    在ExtJS中,类图可以用于描绘组件之间的继承关系,帮助开发者理解各个组件类的功能和它们如何协同工作。例如,Ext.Window是如何从Ext.Component继承,并添加了特有的窗口特性如可拖动、可弹出等。通过类图分析,...

    ExtJS viewModel继承

    ExtJS6 viewModel继承 viewModel各级控件继承演示,动态改变viewModel 详见文章解释 https://blog.csdn.net/ZYD45/article/details/87867454

    ExtJs 类的设计

    这篇博客文章“ExtJs 类的设计”可能深入探讨了如何在ExtJs中有效地设计和使用类。 1. **类的定义** 在ExtJs中,类通过`Ext.extend()`函数创建。这个函数用于创建子类,并继承父类的属性和方法。例如,你可以定义...

    Extjs2.0中文文档

    1. **ExtjsOOP基础**:Ext.js在2.0版本中加强了对面向对象编程的支持,文档中会介绍如何定义JavaScript类,以及如何使用Extjs命名空间和类的继承。这里也会提到Extjs的OOP特性和配置选项的使用方法。 2. **消息框的...

    ExtJS4中文教程2 开发笔记 chm

    Extjs4 API文档阅读(一)——类系统(Class System) Extjs4 API文档阅读(三)——布局和容器 Extjs4 API文档阅读(二)——MVC构架(上) Extjs4 API文档阅读(二)——MVC构架(下) Extjs4 API文档阅读(四)——Data ...

    EXT 中文手册 搭配ExtJs2.2实例更快将ExtJs入手

    手册中的“中文API”部分是学习ExtJs的重要部分,它详尽地列出了库中的各种类、方法、属性和事件。API文档通常按照类的层次结构组织,便于开发者根据需要查找特定功能。例如,`Ext.Panel`是ExtJs中常用的一个组件,...

    Extjs源码之--Ext事件机制/继承关系

    在“Extjs源码之--Ext事件机制/继承关系”中,我们将深入探讨EXTJS如何处理事件以及其类层次结构。EXTJS的事件处理主要由EventManager.js这个文件负责,它是EXTJS事件系统的基础。 首先,EXTJS的事件机制基于观察者...

    EXT dojochina Ext类继承.rar

    在EXTJS中,类继承是其核心特性之一,它允许开发者创建复杂的组件和应用架构,通过继承来重用代码并扩展功能。 在EXTJS中,类系统基于MVC(Model-View-Controller)设计模式,提供了丰富的组件和布局管理。类继承...

    extjs中dateField日期精确到时分秒的扩展控件

    DateField作为视图的一部分,我们可以通过继承EXTJS的内置类并覆盖或扩展其默认功能来创建我们的自定义组件。 1. **创建扩展类**: 首先,我们需要创建一个新的类,继承自EXTJS的`Ext.form.field.DateField`。在...

    ExtJS 3.4 源码包

    - **JS类系统**:ExtJS使用面向对象的类系统,类与类之间可以通过继承实现代码重用和扩展。 - **事件系统**:事件驱动是ExtJS的核心机制,允许组件间通信和响应用户操作。 - **Ajax通信**:Ext.Ajax模块负责异步...

    ExtJS对几种面向对象体现.txt

    4. **继承与多态**:在ExtJS中,通过继承机制可以轻松地扩展已有的组件功能。例如,可以继承自现有的`Ext.grid.Panel`类来创建一个具有特殊功能的网格面板。同时,多态性使得不同类型的对象可以响应相同的事件,提高...

    ExtJS4中Desktop独立源代码+功能扩充

    这需要理解ExtJS的类继承机制,以及如何编写和注册新的组件类。 5. **布局管理**:在Desktop环境中,窗口需要能够自由移动、缩放和堆叠,这就需要灵活的布局管理。ExtJS提供了多种布局类型,如Fit布局、Border布局...

    extjs组建继承结构图

    extjs组建继承结构图 让你了解extjs的整个架构!

Global site tag (gtag.js) - Google Analytics