ExtJS之面向对象编程基本知识
来源:互联网 发布:javascript的var 编辑:程序博客网 时间:2024/05/22 00:43
1:支持命名空间
// 定义一个命名空间
Ext.namespace("Ext.wentao");
// 在命名空间上定义一个类
Ext.wentao.helloworld = Ext.emptyFn;
// 创建一个类的实例
new Ext.wentao.helloworld();
</script>
其中
等价于
2:支持类实例属性
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);
3:支持类实例方法
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();
4:支持类静态方法
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:支持构造方法
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:支持类继承
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(); // 调用 父类方法
7:支持类实例方法重写
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(); // 调用 父类方法
8:支持命名空间别名
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:支持类别名
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(); // 调用 父类方法
出处:http://www.cnblogs.com/meetrice/archive/2009/07/04/1516694.html
- ExtJS之面向对象编程基本知识
- ExtJS之面向对象编程基本知识
- extjs之面向对象编程
- ExtJS之面向对象编程
- ExtJS 面向对象编程
- 面向对象基本知识
- 面向对象的基本知识
- c#面向对象基本知识
- 面向对象的基本知识
- python面向对象基本知识
- 面向对象的基本知识
- 面向对象的编程(关于基本知识的简介)
- 12-面向对象-面向对象的基本知识
- extjs面向对象一
- extjs面向对象二
- ExtJS面向对象
- ExtJS面向对象
- ExtJS 4 组件化编程,动态加载,面向对象,Direct
- 震撼,从1.9G到64K
- fgcv
- 调整vmware虚拟机硬盘空间的方法
- java 集合类Array、List、Map区别和联系
- c语言种必须掌握的四种排序方法
- ExtJS之面向对象编程基本知识
- JAVA连接MYSQL,查询 ,添加,删除,语句
- template函数和函数的重载的调用判断
- java 调用 com组件
- Java之设计模式
- JSP报表打印的一种简单解决方案
- JavaScript 事件大全
- (转)内联函数
- 最简单的delphi启动画面(转载)