1:支持命名空間?
?
<
script?type
=
"
text/javascript
"
>
?????
//
定義一個(gè)命名空間
?????Ext.namespace(
"
Ext.wentao
"
);
?????
//
在命名空間上定義一個(gè)類(lèi)
?????Ext.wentao.helloworld?
=
?Ext.emptyFn;
?????
?????
//
創(chuàng)建一個(gè)類(lèi)的實(shí)例
?????
new
?Ext.wentao.helloworld();???????
?
</
script
>
?其中
Ext.wentao.helloworld?
=
?Ext.emptyFn;
等價(jià)于
Ext.wentao.helloworld?
=
?function()
{}
;
2:支持類(lèi)實(shí)例屬性
<
script?type
=
"
text/javascript
"
>
????Ext.namespace(
"
Ext.wentao
"
);?
//
自定義一個(gè)命名空間
????Ext.wentao.Person?
=
?Ext.emptyFn;?
//
在命名空間上自定義一個(gè)類(lèi)

????
//
為自定義的類(lèi)?增加一個(gè)?name?屬性,并賦值
????Ext.apply(Ext.wentao.Person.prototype,?
{
????????name:
"
劉文濤
"
????}
)
????
????var?_person?
=
?
new
?Ext.wentao.Person();
//
實(shí)例化?自定義類(lèi)
????alert(_person.name);
????_person.name?
=
?
"
張三
"
;
//
修改類(lèi)name屬性
????alert(_person.name);
</
script
>
? 3:支持類(lèi)實(shí)例方法?
<
script?type
=
"
text/javascript
"
>
????Ext.namespace(
"
Ext.wentao
"
);?
//
自定義一個(gè)命名空間
????Ext.wentao.Person?
=
?Ext.emptyFn;?
//
在命名空間上自定義一個(gè)類(lèi)

????
//
演示類(lèi)實(shí)例方法
????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();
//
實(shí)例化?自定義類(lèi)
????_person.print();
</
script
>
4:支持類(lèi)靜態(tài)方法?
<
script?type
=
"
text/javascript
"
>
????Ext.namespace(
"
Ext.wentao
"
);?
//
自定義一個(gè)命名空間
????Ext.wentao.Person?
=
?Ext.emptyFn;?
//
在命名空間上自定義一個(gè)類(lèi)

????
//
演示類(lèi)實(shí)例方法
????Ext.apply(Ext.wentao.Person.prototype,?
{
????????name:
"
劉文濤
"
,
????????sex:
"
男
"
,
 ????????print:function()
{
????????????alert(String.format(
"
姓名:{0},性別:{1}
"
,
this
.name,
this
.sex));
????????}
????}
)
????
????
//
演示?類(lèi)靜態(tài)方法
????Ext.wentao.Person.print?
=
?function(_name,_sex)
{
????????var?_person?
=
?
new
?Ext.wentao.Person();
????????_person.name?
=
?_name;
????????_person.sex?
=
?_sex;
????????_person.print();?
//
此處調(diào)用類(lèi)?實(shí)例方法,上面print是類(lèi)?靜態(tài)方法
????}
????Ext.wentao.Person.print(
"
張三
"
,
"
女
"
);?
//
調(diào)用類(lèi)?靜態(tài)方法
</
script
>
5:支持構(gòu)造方法?
<
script?type
=
"
text/javascript
"
>
????Ext.namespace(
"
Ext.wentao
"
);?
//
自定義一個(gè)命名空間

????
//
構(gòu)造方法
????Ext.wentao.Person?
=
?function(_cfg)
{
????????Ext.apply(
this
,_cfg);
????}
????
//
演示類(lèi)實(shí)例方法
????Ext.apply(Ext.wentao.Person.prototype,?
{
 ????????print:function()
{
????????????alert(String.format(
"
姓名:{0},性別:{1}
"
,
this
.name,
this
.sex));
????????}
????}
)
????
????
//
演示?類(lèi)靜態(tài)方法
????Ext.wentao.Person.print?
=
?function(_name,_sex)
{
 ????????var?_person?
=
?
new
?Ext.wentao.Person(
{name:_name,sex:_sex}
);
????????_person.print();?
//
此處調(diào)用類(lèi)?實(shí)例方法,上面print是類(lèi)?靜態(tài)方法
????}
????Ext.wentao.Person.print(
"
張三
"
,
"
女
"
);?
//
調(diào)用類(lèi)?靜態(tài)方法
</
script
>
6:支持類(lèi)繼承?
<
script?type
=
"
text/javascript
"
>
????Ext.namespace(
"
Ext.wentao
"
);?
//
自定義一個(gè)命名空間

????
//
*******************父類(lèi)*********************
????
//
構(gòu)造方法
????Ext.wentao.Person?
=
?function(_cfg)
{
????????Ext.apply(
this
,_cfg);
????}
????
//
演示類(lèi)實(shí)例方法
????Ext.apply(Ext.wentao.Person.prototype,?
{
????????job:
"
無(wú)
"
,
 ????????print:function()
{
????????????alert(String.format(
"
姓名:{0},性別:{1},角色:{2}
"
,
this
.name,
this
.sex,
this
.job));
????????}
????}
)

????
//
*******************子類(lèi)1*********************
????Ext.wentao.Student?
=
?function(_cfg)
{
??????Ext.apply(
this
,_cfg);
????}
???Ext.extend(Ext.wentao.Student,Ext.wentao.Person,
{
???????job:
"
學(xué)生
"
???}
)

 ????var?_student?
=
?
new
?Ext.wentao.Student(
{name:
"
張三
"
,sex:
"
女
"
}
);
???_student.print();?
//
調(diào)用?父類(lèi)方法
</
script
>
7:支持類(lèi)實(shí)例方法重寫(xiě)?
<
script?type
=
"
text/javascript
"
>
????Ext.namespace(
"
Ext.wentao
"
);?
//
自定義一個(gè)命名空間

????
//
*******************父類(lèi)*********************
????
//
構(gòu)造方法
????Ext.wentao.Person?
=
?function(_cfg)
{
????????Ext.apply(
this
,_cfg);
????}
????
//
演示類(lèi)實(shí)例方法
????Ext.apply(Ext.wentao.Person.prototype,?
{
????????job:
"
無(wú)
"
,
 ????????print:function()
{
????????????alert(String.format(
"
姓名:{0},性別:{1},角色:{2}
"
,
this
.name,
this
.sex,
this
.job));
????????}
????}
)

????
//
*******************子類(lèi)1*********************
????Ext.wentao.Student?
=
?function(_cfg)
{
??????Ext.apply(
this
,_cfg);
????}
????
//
重寫(xiě)父類(lèi)的??實(shí)例?方法
???Ext.extend(Ext.wentao.Student,Ext.wentao.Person,
{
???????job:
"
學(xué)生
"
,
 ????????print:function()
{
????????????alert(String.format(
"
{0}是一位{1}{2}
"
,
this
.name,
this
.sex,
this
.job));
????????}
???}
)

 ????var?_student?
=
?
new
?Ext.wentao.Student(
{name:
"
張三
"
,sex:
"
女
"
}
);
???_student.print();?
//
調(diào)用?父類(lèi)方法
</
script
>
8:支持命名空間別名?
<
script?type
=
"
text/javascript
"
>
????Ext.namespace(
"
Ext.wentao
"
);?
//
自定義一個(gè)命名空間
????Wt?
=
?Ext.wentao;?
//
命名空間的別名

????
//
*******************父類(lèi)*********************
????
//
構(gòu)造方法
????Wt.Person?
=
?function(_cfg)
{
????????Ext.apply(
this
,_cfg);
????}
????
//
演示類(lèi)實(shí)例方法
????Ext.apply(Wt.Person.prototype,?
{
????????job:
"
無(wú)
"
,
 ????????print:function()
{
????????????alert(String.format(
"
姓名:{0},性別:{1},角色:{2}
"
,
this
.name,
this
.sex,
this
.job));
????????}
????}
)

????
//
*******************子類(lèi)1*********************
????Wt.Student?
=
?function(_cfg)
{
??????Ext.apply(
this
,_cfg);
????}
????
//
重寫(xiě)父類(lèi)的??實(shí)例?方法
???Ext.extend(Wt.Student,Ext.wentao.Person,
{
???????job:
"
學(xué)生
"
,
 ????????print:function()
{
????????????alert(String.format(
"
{0}是一位{1}{2}
"
,
this
.name,
this
.sex,
this
.job));
????????}
???}
)

 ????var?_student?
=
?
new
?Wt.Student(
{name:
"
張q三
"
,sex:
"
女
"
}
);
???_student.print();?
//
調(diào)用?父類(lèi)方法
</
script
>
9:支持類(lèi)別名
<
script?type
=
"
text/javascript
"
>
????Ext.namespace(
"
Ext.wentao
"
);?
//
自定義一個(gè)命名空間
????Wt?
=
?Ext.wentao;?
//
命名空間的別名

????
//
*******************父類(lèi)*********************
????
//
構(gòu)造方法
????Wt.Person?
=
?function(_cfg)
{
????????Ext.apply(
this
,_cfg);
????}
????PN?
=
?Wt.Person;?
//
類(lèi)別名

????
//
演示類(lèi)實(shí)例方法
????Ext.apply(PN.prototype,?
{
????????job:
"
無(wú)
"
,
 ????????print:function()
{
????????????alert(String.format(
"
姓名:{0},性別:{1},角色:{2}
"
,
this
.name,
this
.sex,
this
.job));
????????}
????}
)

????
//
*******************子類(lèi)1*********************
????Wt.Student?
=
?function(_cfg)
{
??????Ext.apply(
this
,_cfg);
????}
????ST?
=
?Wt.Student;

????
//
重寫(xiě)父類(lèi)的??實(shí)例?方法
???Ext.extend(ST,PN,
{
???????job:
"
學(xué)生
"
,
 ????????print:function()
{
????????????alert(String.format(
"
{0}是一位{1}{2}
"
,
this
.name,
this
.sex,
this
.job));
????????}
???}
)

 ????var?_student?
=
?
new
?ST(
{name:
"
張q三
"
,sex:
"
女
"
}
);
???_student.print();?
//
調(diào)用?父類(lèi)方法
</
script
>
[轉(zhuǎn)自] ExtJS在面向?qū)ο笏鞒龅呐?/a>
|