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实现面向对象编程的基础。 - **命名空间**: 命名空间在Extjs中用于组织和管理代码,避免变量和函数名的冲突。 #### 3. Extjs OOP Extjs支持面向对象编程,其对象模型包括: - 类的定义(Ext.extend) - ...
在JavaScript的世界里,面向对象(Object-Oriented Programming, OOP)是一种常用的设计模式,它允许我们通过类和对象来组织代码,实现代码的复用和模块化。本篇文章将探讨EXTJS框架中的面向对象机制,特别是继承的...
这部分资料重点讲解了JavaScript的基本语法、面向对象编程、DOM操作等内容。 - **资源推荐**:《JavaScript基础回顧》(PPT格式),包含了JavaScript语言的核心特性、函数、数组等基础知识点。 ### ExtJS核心概念 ...
面向对象编程(OOP)是ExtJS框架的核心设计理念之一。通过采用面向对象的方法,开发者可以更好地组织代码结构,提高代码的复用性和维护性。 - **类与继承**: 在ExtJS中,可以通过定义类来创建组件,并通过继承机制...
在源码方面,ExtJS 使用面向对象的编程方式,基于类的体系结构使得代码组织清晰且易于维护。例如,你可以定义一个自定义组件,继承自`Ext.Component`,并重写或扩展其方法和配置项来满足特定需求。 工具集是ExtJS的...
通过`javascript基础.ppt`和`javascript加强.ppt`,你可以进一步巩固JavaScript知识,而`javascript面向对象编程.ppt`将深入探讨JavaScript的OOP特性。结合这些资料,你将能够全面掌握使用ExtJS 3.0.0进行Web开发所...
#### 二、类的封装与面向对象编程 尽管JavaScript本身是一种面向对象的语言,但在类的定义和支持方面不如其他语言如Java或C#。因此,Extjs提供了对类的封装以增强面向对象特性。 ##### 2.1 类的定义 类的定义通过...
与Java不同,Java是一种通用的面向对象的编程语言,通常用于后端开发,如JSP(Java Server Pages)和J2EE(Java 2 Enterprise Edition)。JSP是用于动态生成网页内容的技术,而J2EE则是一个用于构建大型企业级应用的...
JavaScript 面向对象编程是该语言的核心特性之一,它允许开发者通过对象和它们的属性、方法来组织代码,提高代码的复用性和可维护性。面向对象编程(Object-Oriented Programming,简称 OOP)的基本概念包括封装、...
- **ExtjsOOP**: 讲解了Extjs中如何利用面向对象编程实现组件的封装和重用。 - **配置(config)选项**: 详细解释了Extjs中配置选项的作用及使用方式。 - **Ext.apply()和Ext.applyIf()**: 这两个方法用于合并对象属性...
- **继承机制**:ExtJS支持面向对象编程中的继承特性,可以扩展现有的组件类。 - **继承示例**:文档中给出了一些具体的继承示例,帮助理解继承的用法。 #### 22. 补充资料 - **Ext2概述**:介绍了ExtJS 2版本的...
在学习extJS4 MVC时,开发者还应掌握JavaScript面向对象编程的思想,以及如何高效利用extJS提供的各种组件和插件来构建用户界面。最后,通过项目实践不断优化和重构代码,提高应用的性能和用户体验。
Java是一种多平台的、面向对象的编程语言,常用于后端服务器开发,提供强大的数据处理和业务逻辑支持。而ExtJS是一个JavaScript库,专用于构建富客户端应用,它提供了丰富的用户界面组件和强大的数据绑定机制。 ...
这涉及到面向对象编程的概念,如继承、覆写方法和属性,以及如何利用ExtJS的类系统来实现模块化和代码复用。 3. **《TutorialTabPanel Basics (Chinese)》** TabPanel是ExtJS中的一个常见组件,用于展示多个视图在...