`

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>
分享到:
评论

相关推荐

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

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

    ExtJS之面向对象编程基本知识

    NULL 博文链接:https://lisongqiu168.iteye.com/blog/1004040

    ExtJs学习资料14-OOP[JavaScript面向对象编程].doc

    ExtJs学习资料14-OOP[JavaScript面向对象编程]

    js实现面向对象基础代码

    如果你读过extjs的原代码,一定知道它是基于面向对象思想代码。该代码不同于extjs,更加合理且容易理解。

    Extjs 性能优化 High Performance ExtJs

    本文适合有一定javascript基础(明确js的面向对象,继承,作用域等)并能熟练使用extjs框架(明确各组件间的继承关系)的人阅读,目的在于对extjs的前台架构进行性能上的优化,核心思想为:“按需索取,晚使用,晚加载...

    Extjs4.1.1

    课程简介: ExtJS是一种主要用于创建前端用户界面,是一个基本与后台技术无关的前端ajax框架,本...第十九讲.ExtJS之组件面向对象编程(一) 第二十讲.ExtJS之组件面向对象编程(二) 项目实战Extjs版在线选课系统:

    深入浅出Extjs4.1.1

    19、ExtJS之组件面向对象编程(一) 20、ExtJS之组件面向对象编程(一) 21、项目实战-需求分析、数据字典、数据库设计) r, `+ J( `$ l# d7 I$ h# W: U' r* a 22、项目实战-底层框架搭建、创建实体对象 23、项目实战...

    ExtJS4中文教程2 开发笔记 chm

    Javascript 面向对象之非构造函数的继承 JavaScript对象与继承教程之内置对象(下) JavaScript对象及继承教程(上) javascript正则表达式(一) javascript正则表达式(二) JavaScript的10种跨域共享方法 JavaScript...

    js面向对象 learning extjs 中文

    NULL 博文链接:https://guoyiqi.iteye.com/blog/324849

    ExtJs培训sample_for面向对象设计

    NULL 博文链接:https://njuptlinjian.iteye.com/blog/1568663

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

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

    ExtJS开发实战

    资源名称:ExtJS开发实战内容简介:《extjs开发实战》从extjs中最基本的概念开始,例如dom操作、面向对象、ponent/container模型的生命周期、组件管理等,并介绍如何使用项目开发中最常使用的各种组件,例如 panel...

    ExtJS4 组件化编程,动态加载,面向对象,Direct

    ExtJS4推荐定义类的时候均使用Ext.define,利用xtype动态加载 修改了以前的一个登陆窗口,感觉用官方推荐的方法还是很不错的 但还有一些问题没有想得非常清楚,先把代码贴出来一起研究下。请看代码中的注释~~ 使用...

    ExtJS+Web应用程序开发指南

    主要包括data、widget、form、grid、dd、menu,其中最强大的应该算grid了,编程思想是基于面向对象编程(oop),扩展性相当的好。可以自己写扩展,自己定义命名空间。 主要包括三个大的文件:ext-all.css,ext-base.js,...

    ExtJS5-一个简洁完整的后台管理系统入门实例

    2、使用全新的MVVM模式架构,面向对象写法; 3、全系统只有一个index.html界面,登录框也封装成独立的视图组件; 4、通过实现角色管理、用户管理两个基础的功能模块,演示了Viewport、Container、Panel、TreePanel...

    NVKindEditor3.5.4面向对象版(修改)

    但原有的KindEditor控件不完全是面向对象的,通过改进后该控件可以完全面向对象,如下代码: NVKindEditor = new NVKindEditor(); var KE = NVKindEditor.KE; KE.show({ id: 'content1' }); 而上面的KE和KindEditor...

    Extjs精华版图书管理系统源码_商业源码_sqlserver_ExtJS6._extjs_V2_

    3、演示插件使用和封装插件、面向对象继承等等。4、演示更换皮肤功能。 5、演示json数据封装。6、演示前台和后台数据的传递。7、演示权限管理。8、系统已经后台管理的基本架构,适合二次开发。注意事项:1、开发环境...

    ExtJs 实例展示

    包括布局实例,TREE实例,grid实例,form实例,datawindow实例,面向对象实例。

    面向对象的编程思想在javascript中的运用上部

    其实,面向对象的思想是独立于编程语言的,例如在C#中,在一个静态类的静态方法中,按照过程式开发调用一系列静态函数,我们很难说这是面向对象的编程,相反,象jquery和extjs这样优秀的javascript库,却处处体现着...

Global site tag (gtag.js) - Google Analytics