做外贸有哪些网站平台,wordpress本地上云,服装建设网站论文的目录,免费提供网站EXTJS的面向对象程序设计◆EXTJS在面向对象作出的努力支持命名空间支持类实例属性支持类实例方法支持类静态方法支持构造方法支持类继承支持类实例方法重写支持命名空间别名支持类别名支持事件队列命名空间定义#xff1a;对于类的组织定义方式代码举例#xff1a; view plai…EXTJS的面向对象程序设计◆EXTJS在面向对象作出的努力支持命名空间支持类实例属性支持类实例方法支持类静态方法支持构造方法支持类继承支持类实例方法重写支持命名空间别名支持类别名支持事件队列命名空间定义对于类的组织定义方式代码举例 view plain copy to clipboard print ?   Ext.namespace(Ext.dojochina);   Ext.namespace(Ext.dojochina);Java代码对照 view plain copy to clipboard print ?   package Ext.dojochina;   package Ext.dojochina;完整示例代码view view plain copy to clipboard print ?   // namespace.js         Ext.namespace(Ext.dojochina);         Ext.dojochina.HelloWorld  Ext.emptyFn;   // namespace.js
Ext.namespace(Ext.dojochina);
Ext.dojochina.HelloWorld  Ext.emptyFn;
view plain copy to clipboard print ?   html xmlnshttp://www.w3.org/1999/xhtml    head   meta http-equivContent-Type contenttext/html; charsetutf-8 /   title命名空间/title   link relstylesheet typetext/css href../extjs/resources/css/ext-all.css /   script typetext/javascript src../extjs/adapter/ext/ext-base.js/script   script typetext/javascript src../extjs/ext-all.js/script   script typetext/javascript srcnamespace.js/script   script typetext/javascript         new Ext.dojochina.HelloWorld();     /script   /head   body   /body   /html   html xmlnshttp://www.w3.org/1999/xhtml 
head
meta http-equivContent-Type contenttext/html; charsetutf-8 /
title命名空间/title
link relstylesheet typetext/css href../extjs/resources/css/ext-all.css /
script typetext/javascript src../extjs/adapter/ext/ext-base.js/script
script typetext/javascript src../extjs/ext-all.js/script
script typetext/javascript srcnamespace.js/script
script typetext/javascript
new Ext.dojochina.HelloWorld();
/script
/head
body
/body
/html类实例属性定义对于一个实例的特征描述。代码举例 view plain copy to clipboard print ?   ...   Ext.apply(Ext.dojochina.Person.prototype, {       name: 陈治文    });   ...
Ext.apply(Ext.dojochina.Person.prototype, {
name: 陈治文 
});Java代码对照 view plain copy to clipboard print ?   ...   private String name  陈治文;     public void setName(String name){       this.name  name;   }   public String getName(){       return this.name   }   ...   ...
private String name  陈治文;
public void setName(String name){
this.name  name;
}
public String getName(){
return this.name
}
...完整示例代码view view plain copy to clipboard print ?   // property.js         Ext.namespace(Ext.dojochina);       Ext.dojochina.Person  Ext.emptyFn;       Ext.apply(Ext.dojochina.Person.prototype, {name: MacroChin});   // property.js
Ext.namespace(Ext.dojochina);
Ext.dojochina.Person  Ext.emptyFn;
Ext.apply(Ext.dojochina.Person.prototype, {name: MacroChin});
view plain copy to clipboard print ?   html xmlnshttp://www.w3.org/1999/xhtml    head   meta http-equivContent-Type contenttext/html; charsetutf-8 /   title类实例属性/title   link relstylesheet typetext/css href../extjs/resources/css/ext-all.css /   script typetext/javascript src../extjs/adapter/ext/ext-base.js/script   script typetext/javascript src../extjs/ext-all.js/script   script typetext/javascript srcproperty.js/script   script typetext/javascript         var personnew Ext.dojochina.Person();       alert(person.name);       person.nameAotherPerson;       alert(person.name);     /script   /head   body   /body   /html   html xmlnshttp://www.w3.org/1999/xhtml 
head
meta http-equivContent-Type contenttext/html; charsetutf-8 /
title类实例属性/title
link relstylesheet typetext/css href../extjs/resources/css/ext-all.css /
script typetext/javascript src../extjs/adapter/ext/ext-base.js/script
script typetext/javascript src../extjs/ext-all.js/script
script typetext/javascript srcproperty.js/script
script typetext/javascript
var personnew Ext.dojochina.Person();
alert(person.name);
person.nameAotherPerson;
alert(person.name);
/script
/head
body
/body
/html类实例方法定义一个对象所能具有的功能与动作。代码举例 view plain copy to clipboard print ?   ...   print: function(){       alert(String.format(姓名:{0},性别:{1}, this.name, this.sex));   }   ...
print: function(){
alert(String.format(姓名:{0},性别:{1}, this.name, this.sex));
}Java代码对照 view plain copy to clipboard print ?   ...   public void print(){       System.out.printf(姓名:%s,性别:%s, this.name, this.sex);   }   ...
public void print(){
System.out.printf(姓名:%s,性别:%s, this.name, this.sex);
}完整示例代码view view plain copy to clipboard print ?   // dynamicMethod.js         Ext.namespace(Ext.dojochina);       Ext.dojochina.Person  Ext.emptyFn;       Ext.apply(Ext.dojochina.Person.prototype, {           name: ,           sex: ,           print: function(){               alert(String.format(姓名{0}性别{1}, this.name, this.sex));           }       });   // dynamicMethod.js
Ext.namespace(Ext.dojochina);
Ext.dojochina.Person  Ext.emptyFn;
Ext.apply(Ext.dojochina.Person.prototype, {
name: ,
sex: ,
print: function(){
alert(String.format(姓名{0}性别{1}, this.name, this.sex));
}
});
view plain copy to clipboard print ?   html xmlnshttp://www.w3.org/1999/xhtml    head   meta http-equivContent-Type contenttext/html; charsetutf-8 /   title类实例方法/title   link relstylesheet typetext/css href../extjs/resources/css/ext-all.css /   script typetext/javascript src../extjs/adapter/ext/ext-base.js/script   script typetext/javascript src../extjs/ext-all.js/script   script typetext/javascript srcdynamicMethod.js/script   script typetext/javascript         var person  new Ext.dojochina.Person();         person.name  MacroChin;       person.sex  男;       person.print();         person.name  Ann;       person.sex  女;       person.print();     /script   /head   body   /body   /html   html xmlnshttp://www.w3.org/1999/xhtml 
head
meta http-equivContent-Type contenttext/html; charsetutf-8 /
title类实例方法/title
link relstylesheet typetext/css href../extjs/resources/css/ext-all.css /
script typetext/javascript src../extjs/adapter/ext/ext-base.js/script
script typetext/javascript src../extjs/ext-all.js/script
script typetext/javascript srcdynamicMethod.js/script
script typetext/javascript
var person  new Ext.dojochina.Person();
person.name  MacroChin;
person.sex  男;
person.print();
person.name  Ann;
person.sex  女;
person.print();
/script
/head
body
/body
/html
类静态方法定义在一个类级别上共享的方法。代码举例 view plain copy to clipboard print ?   ...   Ext.dojochina.Person.print  function(name, sex){       var p  new Ext.dojochina.Person();       p.name  name;       p.sex  sex;       p.print();   }   ...
Ext.dojochina.Person.print  function(name, sex){
var p  new Ext.dojochina.Person();
p.name  name;
p.sex  sex;
p.print();
}Java代码对照 view plain copy to clipboard print ?   ...   public static void print(String name, String sex){       Person person  new Person();       person.setName(name);       person.setSex(sex);       person.print();   }   ...
public static void print(String name, String sex){
Person person  new Person();
person.setName(name);
person.setSex(sex);
person.print();
}完整示例代码view view plain copy to clipboard print ?   // staticMethod.js         Ext.namespace(Ext.dojochina);       Ext.dojochina.Person  Ext.emptyFn;         Ext.dojochina.Person.print  function(name, sex){           var p  new Ext.dojochina.Person();           p.name  name;           p.sex  sex;           p.print();       }         Ext.apply(Ext.dojochina.Person.prototype, {           name: ,           sex: ,           print: function(){               alert(String.format(姓名{0}性别{1}, this.name, this.sex));           }       });   // staticMethod.js
Ext.namespace(Ext.dojochina);
Ext.dojochina.Person  Ext.emptyFn;
Ext.dojochina.Person.print  function(name, sex){
var p  new Ext.dojochina.Person();
p.name  name;
p.sex  sex;
p.print();
}
Ext.apply(Ext.dojochina.Person.prototype, {
name: ,
sex: ,
print: function(){
alert(String.format(姓名{0}性别{1}, this.name, this.sex));
}
});
view plain copy to clipboard print ?   html xmlnshttp://www.w3.org/1999/xhtml    head   meta http-equivContent-Type contenttext/html; charsetutf-8 /   title类静态方法/title   link relstylesheet typetext/css href../extjs/resources/css/ext-all.css /   script typetext/javascript src../extjs/adapter/ext/ext-base.js/script   script typetext/javascript src../extjs/ext-all.js/script   script typetext/javascript srcstaticMethod.js/script   script typetext/javascript         Ext.dojochina.Person.print(MacroChin, 男);       Ext.dojochina.Person.print(Ann, 女);     /script   /head   body   /body   /html   html xmlnshttp://www.w3.org/1999/xhtml 
head
meta http-equivContent-Type contenttext/html; charsetutf-8 /
title类静态方法/title
link relstylesheet typetext/css href../extjs/resources/css/ext-all.css /
script typetext/javascript src../extjs/adapter/ext/ext-base.js/script
script typetext/javascript src../extjs/ext-all.js/script
script typetext/javascript srcstaticMethod.js/script
script typetext/javascript
Ext.dojochina.Person.print(MacroChin, 男);
Ext.dojochina.Person.print(Ann, 女);
/script
/head
body
/body
/html
构造方法定义在初始化一个对象的同时执行的方法。代码举例 view plain copy to clipboard print ?   Ext.dojochina.Person  function(_cfg){       Ext.apply(this, _cfg);   }   Ext.dojochina.Person  function(_cfg){
Ext.apply(this, _cfg);
}Java代码对照 view plain copy to clipboard print ?   ...   public Person(String name, String sex){       this.name  name;       this.sex  sex;   }   ...   ...
public Person(String name, String sex){
this.name  name;
this.sex  sex;
}
...完整示例代码view view plain copy to clipboard print ?   // initialize.js         Ext.namespace(Ext.dojochina);         Ext.dojochina.Person  function(_cfg){           Ext.apply(this, _cfg);       }         Ext.dojochina.Person.print  function(name, sex){           var person  new Ext.dojochina.Person({name: name, sex:sex});           person.print();       }         Ext.apply(Ext.dojochina.Person.prototype, {           print: function(){               alert(String.format(Name:{0} Sex:{1}, this.name, this.sex));           }       })   // initialize.js
Ext.namespace(Ext.dojochina);
Ext.dojochina.Person  function(_cfg){
Ext.apply(this, _cfg);
}
Ext.dojochina.Person.print  function(name, sex){
var person  new Ext.dojochina.Person({name: name, sex:sex});
person.print();
}
Ext.apply(Ext.dojochina.Person.prototype, {
print: function(){
alert(String.format(Name:{0} Sex:{1}, this.name, this.sex));
}
})
view plain copy to clipboard print ?   html xmlnshttp://www.w3.org/1999/xhtml    head   meta http-equivContent-Type contenttext/html; charsetutf-8 /   title构造方法/title   link relstylesheet typetext/css href../extjs/resources/css/ext-all.css /   script typetext/javascript src../extjs/adapter/ext/ext-base.js/script   script typetext/javascript src../extjs/ext-all.js/script   script typetext/javascript srcinitialize.js/script   script typetext/javascript         Ext.dojochina.Person.print(PersonA, 女);       Ext.dojochina.Person.print(PersonB, 男);     /script   /head   body   /body   /html   html xmlnshttp://www.w3.org/1999/xhtml 
head
meta http-equivContent-Type contenttext/html; charsetutf-8 /
title构造方法/title
link relstylesheet typetext/css href../extjs/resources/css/ext-all.css /
script typetext/javascript src../extjs/adapter/ext/ext-base.js/script
script typetext/javascript src../extjs/ext-all.js/script
script typetext/javascript srcinitialize.js/script
script typetext/javascript
Ext.dojochina.Person.print(PersonA, 女);
Ext.dojochina.Person.print(PersonB, 男);
/script
/head
body
/body
/html
类继承定义对于类的一种扩展形式。代码举例 view plain copy to clipboard print ?   Ext.extend(Ext.dojochina,Strudent,       Ext.dojochina.Person, {           job: 学生      }   );   Ext.extend(Ext.dojochina,Strudent,
Ext.dojochina.Person, {
job: 学生
}
);Java代码比照 view plain copy to clipboard print ?   class Student extend Person{       public Student(String name, String sex){           super(name, sex);           this.setJob(学生);       }   }   class Student extend Person{
public Student(String name, String sex){
super(name, sex);
this.setJob(学生);
}
}完整示例代码view view plain copy to clipboard print ?   // Person.js     Ext.namespace(Ext.dojochina);     Ext.dojochina.Person  function(_cfg){Ext.apply(this, _cfg)};     Ext.apply(Ext.dojochina.Person.prototype, {       job: 无,       print: function(){           alert(String.format(姓名{0} 性别{1} 角色{2}, this.name, this.sex, this.job));       }   });   // Person.js
Ext.namespace(Ext.dojochina);
Ext.dojochina.Person  function(_cfg){Ext.apply(this, _cfg)};
Ext.apply(Ext.dojochina.Person.prototype, {
job: 无,
print: function(){
alert(String.format(姓名{0} 性别{1} 角色{2}, this.name, this.sex, this.job));
}
});
view plain copy to clipboard print ?   // Teacher.js     Ext.namespace(Ext.dojochina);     Ext.dojochina.Teacher  function(_cfg){Ext.apply(this, _cfg);};     Ext.extend(Ext.dojochina.Teacher, Ext.dojochina.Person, {job: 教师});   // Teacher.js
Ext.namespace(Ext.dojochina);
Ext.dojochina.Teacher  function(_cfg){Ext.apply(this, _cfg);};
Ext.extend(Ext.dojochina.Teacher, Ext.dojochina.Person, {job: 教师});
view plain copy to clipboard print ?   // Student.js     Ext.namespace(Ext.dojochina);     Ext.dojochina.Student  function(_cfg){Ext.apply(this, _cfg);};     Ext.extend(Ext.dojochina.Student, Ext.dojochina.Person, {job: 学生});   // Student.js
Ext.namespace(Ext.dojochina);
Ext.dojochina.Student  function(_cfg){Ext.apply(this, _cfg);};
Ext.extend(Ext.dojochina.Student, Ext.dojochina.Person, {job: 学生});
view plain copy to clipboard print ?   html xmlnshttp://www.w3.org/1999/xhtml    head   meta http-equivContent-Type contenttext/html; charsetutf-8 /   title类继承/title   link relstylesheet typetext/css href../extjs/resources/css/ext-all.css /   script typetext/javascript src../extjs/adapter/ext/ext-base.js/script   script typetext/javascript src../extjs/ext-all.js/script   script typetext/javascript srcPerson.js/script   script typetext/javascript srcTeacher.js/script   script typetext/javascript srcStudent.js/script   script typetext/javascript         var t  new Ext.dojochina.Teacher({name:老师A, sex:女});       t.print();         var s  new Ext.dojochina.Student({name:学生B, sex:男});       s.print();     /script   /head   body   /body   /html   html xmlnshttp://www.w3.org/1999/xhtml 
head
meta http-equivContent-Type contenttext/html; charsetutf-8 /
title类继承/title
link relstylesheet typetext/css href../extjs/resources/css/ext-all.css /
script typetext/javascript src../extjs/adapter/ext/ext-base.js/script
script typetext/javascript src../extjs/ext-all.js/script
script typetext/javascript srcPerson.js/script
script typetext/javascript srcTeacher.js/script
script typetext/javascript srcStudent.js/script
script typetext/javascript
var t  new Ext.dojochina.Teacher({name:老师A, sex:女});
t.print();
var s  new Ext.dojochina.Student({name:学生B, sex:男});
s.print();
/script
/head
body
/body
/html
类实例方法重写定义子类在继承父类时对其已经存在的方法进行重新定义。代码举例 view plain copy to clipboard print ?   Ext.extend(Ext.dojochina.Teacher,       Ext.dojochina.Person, {           print: function(){               alert(String.format({0}是一位{1}老师, this.name, this.sex));           }       }   );   Ext.extend(Ext.dojochina.Teacher,
Ext.dojochina.Person, {
print: function(){
alert(String.format({0}是一位{1}老师, this.name, this.sex));
}
}
);完整示例代码view view plain copy to clipboard print ?   // Person.js     Ext.namespace(Ext.dojochina);     Ext.dojochina.Person  function(_cfg){Ext.apply(this, _cfg)};     Ext.apply(Ext.dojochina.Person.prototype, {       job: 无,       print: function(){           alert(String.format(姓名{0} 性别{1} 角色{2}, this.name, this.sex, this.job));       }   });   // Person.js
Ext.namespace(Ext.dojochina);
Ext.dojochina.Person  function(_cfg){Ext.apply(this, _cfg)};
Ext.apply(Ext.dojochina.Person.prototype, {
job: 无,
print: function(){
alert(String.format(姓名{0} 性别{1} 角色{2}, this.name, this.sex, this.job));
}
});
view plain copy to clipboard print ?   // teacher_.js     Ext.namespace(Ext.dojochina);     Ext.dojochina.Teacher  function(_cfg){Ext.apply(this, _cfg);};     Ext.extend(Ext.dojochina.Teacher, Ext.dojochina.Person, {       print: function(){           alert(String.format({0}是一位{1}老师, this.name, this.sex));       }   });   // teacher_.js
Ext.namespace(Ext.dojochina);
Ext.dojochina.Teacher  function(_cfg){Ext.apply(this, _cfg);};
Ext.extend(Ext.dojochina.Teacher, Ext.dojochina.Person, {
print: function(){
alert(String.format({0}是一位{1}老师, this.name, this.sex));
}
});
view plain copy to clipboard print ?   // student_.js     Ext.namespace(Ext.dojochina);     Ext.dojochina.Student  function(_cfg){Ext.apply(this, _cfg);};     Ext.extend(Ext.dojochina.Student, Ext.dojochina.Person, {       print: function(){           alert(String.format({0}是一位{1}学生, this.name, this.sex));       }   });   // student_.js
Ext.namespace(Ext.dojochina);
Ext.dojochina.Student  function(_cfg){Ext.apply(this, _cfg);};
Ext.extend(Ext.dojochina.Student, Ext.dojochina.Person, {
print: function(){
alert(String.format({0}是一位{1}学生, this.name, this.sex));
}
});
view plain copy to clipboard print ?   html xmlnshttp://www.w3.org/1999/xhtml    head   meta http-equivContent-Type contenttext/html; charsetutf-8 /   title类方法重写/title   link relstylesheet typetext/css href../extjs/resources/css/ext-all.css /   script typetext/javascript src../extjs/adapter/ext/ext-base.js/script   script typetext/javascript src../extjs/ext-all.js/script   script typetext/javascript srcPerson.js/script   script typetext/javascript srcteacher_.js/script   script typetext/javascript srcstudent_.js/script   script typetext/javascript         var p  new Ext.dojochina.Person({name:PersonX, sex: 男});       p.print();         var t  new Ext.dojochina.Teacher({name:老师A, sex:女});       t.print();         var s  new Ext.dojochina.Student({name:学生B, sex:男});       s.print();     /script   /head   body   /body   /html   html xmlnshttp://www.w3.org/1999/xhtml 
head
meta http-equivContent-Type contenttext/html; charsetutf-8 /
title类方法重写/title
link relstylesheet typetext/css href../extjs/resources/css/ext-all.css /
script typetext/javascript src../extjs/adapter/ext/ext-base.js/script
script typetext/javascript src../extjs/ext-all.js/script
script typetext/javascript srcPerson.js/script
script typetext/javascript srcteacher_.js/script
script typetext/javascript srcstudent_.js/script
script typetext/javascript
var p  new Ext.dojochina.Person({name:PersonX, sex: 男});
p.print();
var t  new Ext.dojochina.Teacher({name:老师A, sex:女});
t.print();
var s  new Ext.dojochina.Student({name:学生B, sex:男});
s.print();
/script
/head
body
/body
/html
命名空间别名定义对于命名空间的别称。(别名首字母要大写)代码举例 view plain copy to clipboard print ?   Dc  Ext.dojochina;   Dc  Ext.dojochina;完整示例代码view view plain copy to clipboard print ?   // namespaceShort.js     Ext.namespace(Ext.dojochina);     Dc  Ext.dojochina;     Dc.Person  function(_cfg){Ext.apply(this, _cfg);};     Dc.Person.print  function(name, sex){       var p  new Dc.Person({name: name , sex: sex});       p.print();   }     Ext.apply(Dc.Person.prototype,{       print: function(){           alert(String.format(姓名{0}, 性别{1}, this.name, this.sex));       }   });   // namespaceShort.js
Ext.namespace(Ext.dojochina);
Dc  Ext.dojochina;
Dc.Person  function(_cfg){Ext.apply(this, _cfg);};
Dc.Person.print  function(name, sex){
var p  new Dc.Person({name: name , sex: sex});
p.print();
}
Ext.apply(Dc.Person.prototype,{
print: function(){
alert(String.format(姓名{0}, 性别{1}, this.name, this.sex));
}
});
view plain copy to clipboard print ?   html xmlnshttp://www.w3.org/1999/xhtml    head   meta http-equivContent-Type contenttext/html; charsetutf-8 /   title命名空间别名/title   link relstylesheet typetext/css href../extjs/resources/css/ext-all.css /   script typetext/javascript src../extjs/adapter/ext/ext-base.js/script   script typetext/javascript src../extjs/ext-all.js/script   script typetext/javascript srcnamespaceShort.js/script   script typetext/javascript         var p  new Dc.Person({name:MC, sex:M});       p.print();         var t  new Ext.dojochina.Person({name:MacroChin, sex:男});       t.print();     /script   /head   body   /body   /html   html xmlnshttp://www.w3.org/1999/xhtml 
head
meta http-equivContent-Type contenttext/html; charsetutf-8 /
title命名空间别名/title
link relstylesheet typetext/css href../extjs/resources/css/ext-all.css /
script typetext/javascript src../extjs/adapter/ext/ext-base.js/script
script typetext/javascript src../extjs/ext-all.js/script
script typetext/javascript srcnamespaceShort.js/script
script typetext/javascript
var p  new Dc.Person({name:MC, sex:M});
p.print();
var t  new Ext.dojochina.Person({name:MacroChin, sex:男});
t.print();
/script
/head
body
/body
/html
类别名定义对于类的别称。(别名全部字母都要大写)代码举例 view plain copy to clipboard print ?   PNExt.dojochina.Person;   PNExt.dojochina.Person;完整示例代码view view plain copy to clipboard print ?   // classShort.js     Ext.namespace(Ext.dojochina);     Ext.dojochina.Person  function(_cfg){Ext.apply(this, _cfg);};     PN  Ext.dojochina.Person;     PN.print  function(name, sex){       var p  new PN({name: name, sex: sex});       p.print();   };     Ext.apply(PN.prototype, {       print: function(){           alert(String.format(姓名: {0} , 性别: {1}, this.name, this.sex));       }   });   // classShort.js
Ext.namespace(Ext.dojochina);
Ext.dojochina.Person  function(_cfg){Ext.apply(this, _cfg);};
PN  Ext.dojochina.Person;
PN.print  function(name, sex){
var p  new PN({name: name, sex: sex});
p.print();
};
Ext.apply(PN.prototype, {
print: function(){
alert(String.format(姓名: {0} , 性别: {1}, this.name, this.sex));
}
});
view plain copy to clipboard print ?   html xmlnshttp://www.w3.org/1999/xhtml   head  meta http-equivContent-Type contenttext/html; charsetutf-8 /  title类别名/title  link relstylesheet typetext/css href../extjs/resources/css/ext-all.css /  script typetext/javascript src../extjs/adapter/ext/ext-base.js/script  script typetext/javascript src../extjs/ext-all.js/script  script typetext/javascript srcclassShort.js/script  script typetext/javascript        var p  new PN({name:MC, sex:M});       p.print();         var t  new Ext.dojochina.Person({name:MacroChin, sex:Male});       t.print();     /script  /head  body  /body  /html   html xmlnshttp://www.w3.org/1999/xhtml 
head
meta http-equivContent-Type contenttext/html; charsetutf-8 /
title类别名/title
link relstylesheet typetext/css href../extjs/resources/css/ext-all.css /
script typetext/javascript src../extjs/adapter/ext/ext-base.js/script
script typetext/javascript src../extjs/ext-all.js/script
script typetext/javascript srcclassShort.js/script
script typetext/javascript
var p  new PN({name:MC, sex:M});
p.print();
var t  new Ext.dojochina.Person({name:MacroChin, sex:Male});
t.print();
/script
/head
body
/body
/html
事件定义对于外界影响的反应在ExtJS还支持事件队列模式由 Ext.util.Observable类支持。完整示例代码view view plain copy to clipboard print ?   // event.js     Ext.namespace(Ext.dojochina);     Ext.dojochina.Person  function(){       this.addEvents(           namechange,           sexchange      );   };     Ext.extend(Ext.dojochina.Person, Ext.util.Observable, {       name:  ,       sex:  ,       setName: function(_name){           if(this.name ! _name){               this.fireEvent(namechange, this, this.name, _name);               this.name  _name;           }       },       setSex: function(_sex){           if(this.sex ! _sex){               this.fireEvent(sexchange, this, this.sex, _sex);               this.sex  _sex;           }       }   });   // event.js
Ext.namespace(Ext.dojochina);
Ext.dojochina.Person  function(){
this.addEvents(
namechange,
sexchange
);
};
Ext.extend(Ext.dojochina.Person, Ext.util.Observable, {
name:  ,
sex:  ,
setName: function(_name){
if(this.name ! _name){
this.fireEvent(namechange, this, this.name, _name);
this.name  _name;
}
},
setSex: function(_sex){
if(this.sex ! _sex){
this.fireEvent(sexchange, this, this.sex, _sex);
this.sex  _sex;
}
}
});
view plain copy to clipboard print ?   html xmlnshttp://www.w3.org/1999/xhtml    head   meta http-equivContent-Type contenttext/html; charsetutf-8 /   title事件/title   link relstylesheet typetext/css href../extjs/resources/css/ext-all.css /   script typetext/javascript src../extjs/adapter/ext/ext-base.js/script   script typetext/javascript src../extjs/ext-all.js/script   script typetext/javascript srcevent.js/script   script typetext/javascript         var person  null;         button_click  function(){           person.setName(prompt(请输入姓名, ));           person.setSex(prompt(请输入性别, ));       }         Ext.onReady(function(){             var txt_name  Ext.get(txt_name);           var txt_sex  Ext.get(txt_sex);             person  new Ext.dojochina.Person();             person.on(namechange, function(person, oldVal, newVal){               txt_name.dom.value  newVal;           });             person.on(sexchange, function(person, oldVal, newVal){               txt_sex.dom.value  newVal;           });             person.on(namechange, function(person, oldVal, newVal){               document.title  newVal;           });         });     /script   /head   body     姓名:input typetext idtxt_name / BR/   性别:input typetext idtxt_sex / BR/   button οnclickbutton_click()输入/button     /body   /html   html xmlnshttp://www.w3.org/1999/xhtml 
head
meta http-equivContent-Type contenttext/html; charsetutf-8 /
title事件/title
link relstylesheet typetext/css href../extjs/resources/css/ext-all.css /
script typetext/javascript src../extjs/adapter/ext/ext-base.js/script
script typetext/javascript src../extjs/ext-all.js/script
script typetext/javascript srcevent.js/script
script typetext/javascript
var person  null;
button_click  function(){
person.setName(prompt(请输入姓名, ));
person.setSex(prompt(请输入性别, ));
}
Ext.onReady(function(){
var txt_name  Ext.get(txt_name);
var txt_sex  Ext.get(txt_sex);
person  new Ext.dojochina.Person();
person.on(namechange, function(person, oldVal, newVal){
txt_name.dom.value  newVal;
});
person.on(sexchange, function(person, oldVal, newVal){
txt_sex.dom.value  newVal;
});
person.on(namechange, function(person, oldVal, newVal){
document.title  newVal;
});
});
/script
/head
body
姓名:input typetext idtxt_name / BR/
性别:input typetext idtxt_sex / BR/
button οnclickbutton_click()输入/button
/body
/html
◆EXTJS的另几种面向对象设计体现GWT-EXT为JAVA程序员编写EXTJS应用提供了可能EXTTLD为JSP程序员的标签化部署EXTJS提供了可能EXTSharp为C#程序员编写EXTJS的应用提供了可能