首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

ExtJs在面向对象所做出的努力(1)

2012-10-08 
ExtJs在面向对象所作出的努力(1)取自dojo中国ExtJS视频教程PPT?ExtJs在面向对象所作出的努力(1)支持命名空

ExtJs在面向对象所作出的努力(1)

取自dojo中国ExtJS视频教程PPT

?

ExtJs在面向对象所作出的努力(1)

支持命名空间

?

命名空间Ext.namespace("Ext.dojochina");

?

定义:对于类的组织定义方式。

代码举例:

Ext.namespace("Ext.dojoChina");

Java对照:

package Ext.dojochina;

?

支持类实例属性

定义:对于一个实例的特征描述

代码举例:

Ext.apply(Ext.dojochina.Person.prototype,{name:'谁'});

Java代码对照

?

....private name="xxx";public void setName(String name){  this.name = name;}public void getName(){  return name;}

?

?

支持类实例方法

定义:一个对象所具有的功能与动作

代码举例:

...

print:function(){

alert(String.format("姓名:{0},性别:{1}",this.name,this.sex));

}

java代码对照:

?

....public void print(){  System.out.print("姓名:%s,性别:%s",this.name,this.sex);}

?

支持类静态方法

定义:在一个类级别上共享的方法。

代码举例:

?

Ext.dojochina.Person = Ext.emptyFn;Ext.dojochina.Person.print = function(_name,_sex){  var _person = new Ext.dojochina.Person();  _person.name = _name;  _person.sex = _sex;  _person.print();}Ext的命名空间的实现是对象和对象属性模拟出来的

?java代码实现

?

Person.print(String name,String sex){  Person person = new Person();  person.setName(name);  person.setSex(sex);  person.print();}
??

支持构造方法

定义:在初始化一个对象的同时执行的方法

代码举例:

?

Ext.dojochina.Person = function(_cfg){  Ext.apply(this,_cfg);}java代码对照public Person(String name,String sex){  this.name = name;  this.sex = sex;}
??

支持类继承

定义:对于类的一种扩展形式

代码举例

?

Ext.extend(Ext.dojochina.Student,                   Ext.dojochina.Person,                   {job:"学生"});Ext.dojochina.Person 继承了Ext.dojochina.Person

?java代码举例

?

Class Student extend Person{  public Student(String name,String sex){       super(name,sex);        this.setJob("学生");   }}

支持类实例方法重写

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

代码举例:重写了print方法

?

Ext.extend(Ext.dojochina.Teacher,   Ext.dojochina.Person,   {print:function(){alert(String.format("{0}是一位{1}老师",this.name,this.sex));   }});

热点排行