Ext学习笔记2-面向对象

6-EXT中的类继承

--对类的一种扩展形式

Ext.namespace('Ext.wang');  //命名空间

//Person类

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

Ext.apply(Ext.wang.Person.prototype,{
                    job:'无',
                    print:function(){
                        alert(String.format("姓名:{0},性别:{1},角色:{2}",this.name,this.sex,this.job));
                    }
             });
            
//学生类

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

Ext.extend(Ext.wang.Student,Ext.wang.Person,{
                            job:"学生"
            //Ext.extend(子类,父类,方法或属性重写)方法中有三个参数:
                      });                                 //这里的{job:"学生"}为属性重新设置,或方法重写
                     
//老师类

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

Ext.extend(Ext.wang.Teacher,Ext.wang.Person,{
                            job:"老师"   
         //Ext.extend(子类,父类,方法或属性重写)方法中有三个参数:
                      });                                 //这里的{job:"学生"}为属性重新设置,或方法重写
                     
//测试

var _teacher = new Ext.wang.Teacher({name:"王五",sex:"男"});
_teacher.print();

var _student = new Ext.wang.Student({name:"苏菊",sex:"女"});
_student.print();

 

7-EXT中的类实例方法重写

--子类在继承父类时对其已经存在的方法进行重新定义

/// <reference path="../ext/vswd-ext_2.0.2.js" />

Ext.namespace('Ext.wang');  //命名空间

//Person类

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

Ext.apply(Ext.wang.Person.prototype,{
                    job:'无',
                    print:function(){
                        alert(String.format("姓名:{0},性别:{1},角色:{2}",this.name,this.sex,this.job));
                    }
             });
            
//学生类

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

Ext.extend(Ext.wang.Student,Ext.wang.Person,{
                            job:"学生"            //Ext.extend(子类,父类,方法或属性重写)方法中有三个参数:
                      });                         //这里的{job:"学生"}为属性重新设置,或方法重写
                     
//老师类

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

Ext.extend(Ext.wang.Teacher,Ext.wang.Person,{
                            job:"老师",            //Ext.extend(子类,父类,方法或属性重写)方法中有三个参数:
                            print:function(){      //方法重写
                                alert(String.format("{0}是一位{1}{2}",this.name,this.sex,this.job));
                            }
                      });                       
                     
//测试

var _teacher = new Ext.wang.Teacher({name:"王五",sex:"男"});
_teacher.print();

var _student = new Ext.wang.Student({name:"苏菊",sex:"女"});
_student.print();

 

8-Ext中命名空间的别名

--对于命名空间的别称

示例:

Wq = Ext.wang;   //规则:别名首字母必须大写,其他字母可以小写

 

完整示例:

Ext.namespace('Ext.wang');  //命名空间

Ws = Ext.wang;   //命名空间别名

//Person类

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

Ext.apply(Ext.wang.Person.prototype,{
                    job:'无',
                    print:function(){
                        alert(String.format("姓名:{0},性别:{1},角色:{2}",this.name,this.sex,this.job));
                    }
             });
            
//学生类

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

Ext.extend(Ext.wang.Student,Ext.wang.Person,{
                            job:"学生"            //Ext.extend(子类,父类,方法或属性重写)方法中有三个参数:
                      });                         //这里的{job:"学生"}为属性重新设置,或方法重写
                     
//老师类

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

Ext.extend(Ext.wang.Teacher,Ext.wang.Person,{
                            job:"老师",            //Ext.extend(子类,父类,方法或属性重写)方法中有三个参数:
                            print:function(){      //方法重写
                                alert(String.format("{0}是一位{1}{2}",this.name,this.sex,this.job));
                            }
                      });                       
                     
//测试

var _teacher = new Ws.Teacher({name:"王五",sex:"男"});   //用了命名空间别名
_teacher.print();

var _student = new Ws.Student({name:"苏菊",sex:"女"});   //用了命名空间别名
_student.print();

 

9-EXT中的类别名

--对于类的别名

PN = Ext.wang.Person;  //类别名的命名规范:必须都为大写 ,为了和命名空间别名区别

完整示例代码:

Ext.namespace('Ext.wang');  //命名空间

Ws = Ext.wang;   //命名空间别名

//Person类

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

Ext.apply(Ext.wang.Person.prototype,{
                    job:'无',
                    print:function(){
                        alert(String.format("姓名:{0},性别:{1},角色:{2}",this.name,this.sex,this.job));
                    }
             });
            
//学生类

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

Ext.extend(Ext.wang.Student,Ext.wang.Person,{
                            job:"学生"            //Ext.extend(子类,父类,方法或属性重写)方法中有三个参数:
                      });                         //这里的{job:"学生"}为属性重新设置,或方法重写
STU = Ext.wang.Student;  //类别名
                     
//老师类

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

Ext.extend(Ext.wang.Teacher,Ext.wang.Person,{
                            job:"老师",            //Ext.extend(子类,父类,方法或属性重写)方法中有三个参数:
                            print:function(){      //方法重写
                                alert(String.format("{0}是一位{1}{2}",this.name,this.sex,this.job));
                            }
                      });                  
TCH = Ext.wang.Teacher;  //类别名    
                     
//测试

var _teacher = new TCH({name:"王五",sex:"男"}); //应用了类别名
_teacher.print();

var _student = new STU({name:"苏菊",sex:"女"}); //应用了类别名
_student.print();


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乐韬科技

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值