`
hanjiangit
  • 浏览: 185450 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

extjs2+的基本oop特性

阅读更多

刚看了几个extjs的基本是视频讲的是extjs的仿oop特性,代码有点bt也很妙,记下来为了不让自己忘记。

 

1.支持命名空间

Ext.namespace("Ext.dojochina");

这句代码相当于java中的

package Ext.dojochina;

把ext对象放到不同的包里加以区分。当然引用的时候是要加上命名空间了。

 

2.支持类实例属性

Ext.dojochina.Person = Ext.emptyFn;

这句代码是说创建了一个Person空对象,相当于

Ext.dojochina.Person =function(){};

 

Ext.apply(Ext.dojochina.Person.prototype,{name:"",sex:"",print:function(){alert(String.format("姓名:{0},性别:{1}",this.name,this.sex));}});

这里是给Person对象赋予属性。包括字段和方法。

3.支持类实例方法

3.支持类静态方法

Ext.dojochina.Person.print = function(name,sex)
{
    var person=new Ext.dojochina.Person();
    person.name=name;
    person.sex=sex;
    person.print();
};

这里是定义了Person的一个静态方法。

 

4.支持构造方法

Ext.dojochina.Person=function(cfg)
{
    Ext.apply(this,cfg);
    Ext.apply(this,{print:function(){alert(String.format("姓名:{0},性别:{1}",this.name,this.sex))}});
   
}

这里是定义了Person的一个构造方法。

 

5.支持类继承, 方法重写

Person.js:

Ext.namespace("Ext.dojochina");
Dojo=Ext.dojochina;
Dojo.Person=function(){};
PER=dojo.Dojo;
Ext.apply(PER.prototype,{name:"路人甲",role:"人",sex:"春哥",print:function(){alert(String.format("{0}是一个{1}性别是{2}",this.name,this.role,this.sex))}});

Student.js:

Ext.namespace("Ext.dojochina");

Ext.dojochina.Student=function(cfg)
{
    Ext.apply(this,cfg);
};

Ext.extend(Dojo.Student,Dojo.Person,{role:"学生",print:function(){alert(String.format("{0} is a {1}",this.role,this.sex));}});

这里是ext的继承,也包括的方法的重写


7.支持命名空间别名, 类别名

Ext.namespace("Ext.dojochina");
Dojo=Ext.dojochina;//命名空间别名
Dojo.Person=function(){};
PER=dojo.Dojo;//类别名

 

9.支持事件队列

 

 

命名空间的别名规则是首字母大些其他字母小写;类别名字符全部大写。

 

分享到:
评论

相关推荐

    使用OOP的方式扩展ExtJS UI组建 - 更新版

    - **利用ExtJS的最新特性**:随着版本的更新,ExtJS引入了许多新特性,如MVVM模式、DataView动画、TreeGrid等。我们可以利用这些特性来改进原有的组件扩展,提高用户体验。 - **优化性能**:随着组件复杂性的增加,...

    轻松搞定Extjs 带目录

    ### 知识点概述 #### 1. Extjs概念与目录结构 Extjs是一个基于JavaScript的框架,用于构建交互式的web应用。...通过学习本书,读者能够全面掌握Extjs的各种特性,进而使用Extjs开发出功能强大、交互良好的Web应用。

    Extjs中文文档.pdf

    3. **ExtJS OOP**:详细介绍ExtJS如何实现封装、继承和多态等面向对象特性。 4. **配置选项**:介绍如何使用配置选项来初始化组件。 5. **Ext.apply()和Ext.applyIf()**:这两个方法用于合并对象,是ExtJS中常用的...

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

    在JavaScript这样的动态类型语言中,尽管没有像Java或C#那样的传统类的概念,但依然可以通过原型继承等方式实现OOP的基本特性。 #### 三、ExtJS中的面向对象编程 1. **组件封装**:ExtJS中的所有UI组件都是基于类...

    轻松搞定Extjs_原创

    - **Extjs OOP**:深入探讨Extjs中面向对象编程的特点及优势。 - **配置(config)选项**:解释配置选项的作用及如何使用它们。 - **Ext.apply()和Ext.applyIf()**:对比这两个方法的功能差异及其应用场景。 #### 第...

    Extjs2.0中文文档

    这里也会提到Extjs的OOP特性和配置选项的使用方法。 2. **消息框的使用**:Ext.js提供了封装好的消息框组件,使开发人员可以非常方便地展示消息、警告、确认框等。文档会介绍各种不同类型的预定义消息框,例如提示...

    轻松搞定ExtJS

    接下来,我们将通过几个关键章节的内容概览,深入了解如何利用ExtJS的OOP特性来构建高质量的应用程序。 ##### 第三章:ExtOOP基础 - **JavaScript类的定义**:介绍了如何在ExtJS中定义类,以及如何利用类来管理...

    ExtJS-3.0.0.rar

    通过`javascript基础.ppt`和`javascript加强.ppt`,你可以进一步巩固JavaScript知识,而`javascript面向对象编程.ppt`将深入探讨JavaScript的OOP特性。结合这些资料,你将能够全面掌握使用ExtJS 3.0.0进行Web开发所...

    Extjs中文教程2.x

    **2.3 Extjs OOP 特性** - **继承**: 通过 `extend` 属性实现类的继承。 - **配置**: 使用 `config` 对象来传递配置选项。 **2.4 配置选项** - **用途**: 定义组件的初始状态和行为。 - **示例**: `new Ext....

    ExtJs中文文档.pdf

    文档深入介绍了ExtJs的面向对象编程(OOP)基础,包括JavaScript类的定义、Extjs命名空间的定义、Extjs OOP的概念,以及配置选项的使用。此外,还详细解释了`Ext.apply()`和`Ext.applyIf()`函数的作用,这些是理解...

    ExtJs顯示类库

    通过这些OOP特性,开发者可以创建出更易于维护和扩展的代码结构。 总结来说,ExtJs显示类库是一个强大且全面的JavaScript框架,其丰富的组件库、数据管理机制以及面向对象的编程思想,使得开发人员能够构建出功能...

    Extjs学习带注释

    - **Extjs OOP**:掌握 Extjs 的面向对象特性,包括类的继承、封装和多态性。 - **配置(options)选项**:配置选项用于定制组件的行为和外观,是使用 Extjs 的关键。 - **Ext.apply() 和 Ext.applyIf()**:这些方法...

    Extjs4.0.7学习指南

    EXTJS的核心特性包括数据管理(data)、组件(widget)、表单(form)、网格(grid)、拖放(dd)、菜单(menu)等。特别值得一提的是其网格功能,EXTJS的网格组件提供了丰富的功能和高度可定制性,支持面向对象编程...

    ExtJS基础教程.pdf

    5. **合理的设计与架构**:ExtJS采用面向对象编程(OOP)的方式,具有清晰的结构和完善的体系,使得代码易于维护和扩展。 6. **强大的功能集**:提供数据处理、存储和绑定功能,封装了事件处理机制,内置动画特效和...

    ExtJs中文教程

    #### 三、ExtJs OOP基础 1. **JavaScript类的定义** - 在ExtJs中,可以通过继承和构造函数来定义类。 2. **ExtJs命名空间** - 命名空间用于组织代码,避免全局作用域污染。 3. **ExtJs面向对象编程(OOP)** - ...

    log4Net详解(共2讲)

    1.2、ExtJs基础篇(2):ExtJs OOP基础 1.3、ExtJs基础篇(3):ExtJs 核心函数简介 1.4、ExtJs基础篇(4):ExtJs中的模板详解(1) 1.5、ExtJs基础篇(5):ExtJs中的模板详解(2) 2、ExtJs进阶篇:Extjs进阶 2.1、...

Global site tag (gtag.js) - Google Analytics