`

ExtJS面向对象总结

阅读更多
1:支持命名空间

 <script type="text/javascript">
     //定义一个命名空间
     Ext.namespace("Ext.wentao");
     //在命名空间上定义一个类
     Ext.wentao.helloworld = Ext.emptyFn;
     
     //创建一个类的实例
     new Ext.wentao.helloworld();       
 </script>

其中 Ext.wentao.helloworld = Ext.emptyFn; 等价于 Ext.wentao.helloworld = function(){};

2:支持类实例属性

<script type="text/javascript">
    Ext.namespace("Ext.wentao"); //自定义一个命名空间
    Ext.wentao.Person = Ext.emptyFn; //在命名空间上自定义一个类

    //为自定义的类 增加一个 name 属性,并赋值
    Ext.apply(Ext.wentao.Person.prototype, {
        name:"刘文涛"
    })
    
    var _person = new Ext.wentao.Person();//实例化 自定义类
    alert(_person.name);
    _person.name = "张三";//修改类name属性
    alert(_person.name);
</script>


3:支持类实例方法

<script type="text/javascript">
    Ext.namespace("Ext.wentao"); //自定义一个命名空间
    Ext.wentao.Person = Ext.emptyFn; //在命名空间上自定义一个类

    //演示类实例方法
    Ext.apply(Ext.wentao.Person.prototype, {
        name:"刘文涛",
        sex:"男",
        print:function(){
            alert(String.format("姓名:{0},性别:{1}",this.name,this.sex));
        }
    })

    var _person = new Ext.wentao.Person();//实例化 自定义类
    _person.print();
</script>

4:支持类静态方法

<script type="text/javascript">
    Ext.namespace("Ext.wentao"); //自定义一个命名空间
    Ext.wentao.Person = Ext.emptyFn; //在命名空间上自定义一个类

    //演示类实例方法
    Ext.apply(Ext.wentao.Person.prototype, {
        name:"刘文涛",
        sex:"男",
        print:function(){
            alert(String.format("姓名:{0},性别:{1}",this.name,this.sex));
        }
    })
    
    //演示 类静态方法
    Ext.wentao.Person.print = function(_name,_sex){
        var _person = new Ext.wentao.Person();
        _person.name = _name;
        _person.sex = _sex;
        _person.print(); //此处调用类 实例方法,上面print是类 静态方法
    }

    Ext.wentao.Person.print("张三","女"); //调用类 静态方法
</script>

5:支持构造方法

<script type="text/javascript">
    Ext.namespace("Ext.wentao"); //自定义一个命名空间

    //构造方法
    Ext.wentao.Person = function(_cfg){
        Ext.apply(this,_cfg);
    }

    //演示类实例方法
    Ext.apply(Ext.wentao.Person.prototype, {
        print:function(){
            alert(String.format("姓名:{0},性别:{1}",this.name,this.sex));
        }
    })
    
    //演示 类静态方法
    Ext.wentao.Person.print = function(_name,_sex){
        var _person = new Ext.wentao.Person({name:_name,sex:_sex});
        _person.print(); //此处调用类 实例方法,上面print是类 静态方法
    }

    Ext.wentao.Person.print("张三","女"); //调用类 静态方法
</script>


6:支持类继承

<script type="text/javascript">
    Ext.namespace("Ext.wentao"); //自定义一个命名空间

    //*******************父类*********************
    //构造方法
    Ext.wentao.Person = function(_cfg){
        Ext.apply(this,_cfg);
    }

    //演示类实例方法
    Ext.apply(Ext.wentao.Person.prototype, {
        job:"无",
        print:function(){
            alert(String.format("姓名:{0},性别:{1},角色:{2}",this.name,this.sex,this.job));
        }
    })

    //*******************子类1*********************

    Ext.wentao.Student = function(_cfg){
      Ext.apply(this,_cfg);
    }

   Ext.extend(Ext.wentao.Student,Ext.wentao.Person,{
       job:"学生"
   })

    var _student = new Ext.wentao.Student({name:"张三",sex:"女"});
   _student.print(); //调用 父类方法
</script>


7:支持类实例方法重写

<script type="text/javascript">
    Ext.namespace("Ext.wentao"); //自定义一个命名空间

    //*******************父类*********************
    //构造方法
    Ext.wentao.Person = function(_cfg){
        Ext.apply(this,_cfg);
    }

    //演示类实例方法
    Ext.apply(Ext.wentao.Person.prototype, {
        job:"无",
        print:function(){
            alert(String.format("姓名:{0},性别:{1},角色:{2}",this.name,this.sex,this.job));
        }
    })

    //*******************子类1*********************

    Ext.wentao.Student = function(_cfg){
      Ext.apply(this,_cfg);
    }

    //重写父类的  实例 方法
   Ext.extend(Ext.wentao.Student,Ext.wentao.Person,{
       job:"学生",
        print:function(){
            alert(String.format("{0}是一位{1}{2}",this.name,this.sex,this.job));
        }
   })

    var _student = new Ext.wentao.Student({name:"张三",sex:"女"});
   _student.print(); //调用 父类方法
</script>


8:支持命名空间别名

<script type="text/javascript">
    Ext.namespace("Ext.wentao"); //自定义一个命名空间

    Wt = Ext.wentao; //命名空间的别名

    //*******************父类*********************
    //构造方法
    Wt.Person = function(_cfg){
        Ext.apply(this,_cfg);
    }

    //演示类实例方法
    Ext.apply(Wt.Person.prototype, {
        job:"无",
        print:function(){
            alert(String.format("姓名:{0},性别:{1},角色:{2}",this.name,this.sex,this.job));
        }
    })

    //*******************子类1*********************

    Wt.Student = function(_cfg){
      Ext.apply(this,_cfg);
    }

    //重写父类的  实例 方法
   Ext.extend(Wt.Student,Ext.wentao.Person,{
       job:"学生",
        print:function(){
            alert(String.format("{0}是一位{1}{2}",this.name,this.sex,this.job));
        }
   })

    var _student = new Wt.Student({name:"张q三",sex:"女"});
   _student.print(); //调用 父类方法
</script>


9:支持类别名

<script type="text/javascript">
    Ext.namespace("Ext.wentao"); //自定义一个命名空间

    Wt = Ext.wentao; //命名空间的别名

    //*******************父类*********************
    //构造方法
    Wt.Person = function(_cfg){
        Ext.apply(this,_cfg);
    }

    PN = Wt.Person; //类别名

    //演示类实例方法
    Ext.apply(PN.prototype, {
        job:"无",
        print:function(){
            alert(String.format("姓名:{0},性别:{1},角色:{2}",this.name,this.sex,this.job));
        }
    })

    //*******************子类1*********************

    Wt.Student = function(_cfg){
      Ext.apply(this,_cfg);
    }

    ST = Wt.Student;

    //重写父类的  实例 方法
   Ext.extend(ST,PN,{
       job:"学生",
        print:function(){
            alert(String.format("{0}是一位{1}{2}",this.name,this.sex,this.job));
        }
   })

    var _student = new ST({name:"张q三",sex:"女"});
   _student.print(); //调用 父类方法
</script>

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wwd252/archive/2009/01/12/3761236.aspx
分享到:
评论

相关推荐

    ext面向对象和继承

    本篇文章将探讨EXTJS框架中的面向对象机制,特别是继承的概念,以及如何在实际开发中应用这些概念。 EXTJS是一个强大的JavaScript库,它提供了丰富的UI组件和数据绑定功能,适用于构建复杂的Web应用程序。在EXTJS中...

    Ext面向对象开发实践代码第1/2页

    总结一下,这个示例展示了以下ExtJS面向对象开发的关键点: 1. **继承与扩展**:`PersonListGridPanel` 类继承自 `Ext.grid.GridPanel`,增加了自己的特性。 2. **组件组合**:使用了GridPanel、FormPanel和Window...

    php+ExtJS 开发实战

    面向对象编程(OOP)是ExtJS框架的核心设计理念之一。通过采用面向对象的方法,开发者可以更好地组织代码结构,提高代码的复用性和维护性。 - **类与继承**: 在ExtJS中,可以通过定义类来创建组件,并通过继承机制...

    .net+Extjs 实例

    .NET,全称Microsoft .NET Framework,是由微软公司开发的一种全面的、面向对象的开发平台,包含了一整套用于构建各种类型的应用程序的工具和服务。它提供了C#、VB.NET等编程语言,以及ASP.NET用于Web开发,使得...

    最好用的通用后台管理extjs+MySQL+oracle+SQL server数据库源码

    这是本人自己总结最好用的通用后台管extjs+MySQL+...3、用到了Java面向对象的特征, 4、用到了API接口,实现了支付功能; 5、使用的MySQL+oracle+SQL server三种数据库的连接。 6、欢迎大家下载使用交流。qq:906735040

    EXTJS4开发的图片文章管理项目实例

    JAVA的强类型和面向对象特性使其在处理复杂业务时表现出色。 MYSQL是广泛使用的开源关系型数据库,对于中小规模的数据存储非常合适。在“图片文章管理项目”中,MYSQL可能包含了多个表,如文章表(包含文章ID、标题...

    Extjs中文文档.pdf

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

    ExtJS_V2.0教程.pdf

    - **设计理念**:借鉴了Java Swing等桌面应用的设计理念,使得其组件模型和API设计更加符合面向对象的原则。 - **版本迭代**:从最初的版本开始,ExtJS不断更新迭代,加入了更多的功能和改进了性能,以适应不断变化...

    Extjs+ASP.net 后台管理框架

    ASP.NET提供了一种面向对象的编程模型,支持多种语言(如C#、VB.NET),并集成了IIS服务器,确保了高性能和安全性。在这个后台管理框架中,ASP.NET主要负责处理业务逻辑、数据访问和XML文件解析。 描述中提到,后台...

    extjs与系统切分模块设计

    - **面向对象编程**:ExtJS鼓励使用面向对象的编程模式,便于代码的管理和维护。例如: ```javascript Ext.namespace('demo'); demo.User = Ext.extend(Ext.Panel, { getName: function() { // 实现方法 } })...

    Extjs2.0中文文档

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

    ssh整合实现登录的例子,包含源代码,用extjs做的登录界面

    1. **Spring框架**:Spring是核心的依赖注入(DI)和面向切面编程(AOP)框架,它管理着应用中的对象和它们的生命周期。在登录功能中,Spring可以用来处理用户认证逻辑,如从数据库加载用户信息,验证用户名和密码的...

    轻松搞定Extjs_原创

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

    ssh+extjs4整合开发

    总结来说,"ssh+extjs4整合开发"涉及到的技术栈是Java后端开发的强大组合,结合了Spring的灵活性、Struts2的MVC架构以及Hibernate的对象关系映射,再加上EXTJS4的富客户端能力。这种整合使得开发者能够构建出高效、...

    Extjs4开发笔记(收集整理).pdf

    最后,Extjs4框架允许开发者利用面向对象的编程方法来进行开发,MVC(Model-View-Controller)模式的采用,使得代码更容易管理和维护。MVC模式将应用程序分为三个核心组件,其中Model负责数据和业务逻辑,View负责...

    ExtJS 3.2的中文参考手册

    - **继承机制**: 支持传统的面向对象编程中的继承特性,通过继承可以复用代码。 - **覆盖方法**: 子类可以覆盖父类的方法,实现更具体的功能。 #### 19. **EXT2概述** - **组件模型 (Component Model)**: 描述了...

    extjs实现增删查改

    总结来说,“extjs实现增删查改”涵盖了前端使用ExtJS组件进行数据操作,以及后端使用servlet、Spring和Hibernate进行数据处理的技术栈。这个过程涉及到了前端交互设计、数据模型管理、HTTP通信和数据库操作等多个...

    Dojo与ExtJs的比较

    3. **面向对象和组件化**:ExtJs采用了100%面向对象和组件化的编程思想,具有统一的语法结构和全局的命名空间。 4. **文档完善**:ExtJs提供了完整的文档支持,便于开发者学习和使用。 5. **模块化实现**:ExtJs支持...

    ExtJs顯示类库

    总结来说,ExtJs显示类库是一个强大且全面的JavaScript框架,其丰富的组件库、数据管理机制以及面向对象的编程思想,使得开发人员能够构建出功能强大、用户界面丰富的Web应用。无论是在企业级应用还是小型项目中,...

Global site tag (gtag.js) - Google Analytics