在Ext中使用如下語句便可以定義一個類,
- Person = Ext.emptyFn;
當然這樣定義的類只是一個空架子,沒有任何屬性和方法,使用下面的代碼為其添加屬性和方法
- Ext.apply(Person.prototype, {
- name: "Chris Mao", //自訂屬性
- print: function() { //自訂方法
- alert(this.name);
- }
- });
使用命名空間
熟悉物件導向編程的朋友都瞭解命名空間這個概念,Ext同樣支援命名空間。
- Ext.namespace("Ext.Emerson"); //定義命名空間
- Ext.Emerson.Person = Ext.emptyFn;
- Ext.apply(Ext.Emerson.Person.prototype, {
- name: "Chris Mao", //自訂屬性
- print: function() { //自訂方法
- alert(this.name);
- }
- });
使用樣本:
- <html>
- <head>
- <link rel="stylesheet" type="text/css" href="http://plt385130:8080/ext-2.2/resources/css/ext-all.css"/>
- <script type="text/javascript" src="http://plt385130:8080/ext-2.2/adapter/ext/ext-base.js"></script>
- <script type="text/javascript" src="http://plt385130:8080/ext-2.2/ext-all.js"></script>
- <script type="text/javascript" src="Person.js"></script>
- <script type="text/javascript">
- var p = new Ext.Emerson.Person();
- p.name = 'Chris Mao'; //屬性賦值
- p.print(); //調用print()方法
- </script>
- </head>
- <body>
- </body>
- </html>
定義建構函式
- Ext.namespace("Ext.Emerson"); //定義命名空間
- Ext.Emerson.Person = function(_cfg) {
- //do something
- Ext.apply(this, _cfg);
- };
- Ext.apply(Ext.Emerson.Person.prototype, {
- print: function() { //自訂方法
- alert(this.name);
- }
- });
使用樣本
- <html>
- <head>
- <link rel="stylesheet" type="text/css" href="http://plt385130:8080/ext-2.2/resources/css/ext-all.css"/>
- <script type="text/javascript" src="http://plt385130:8080/ext-2.2/adapter/ext/ext-base.js"></script>
- <script type="text/javascript" src="http://plt385130:8080/ext-2.2/ext-all.js"></script>
- <script type="text/javascript" src="Person.js"></script>
- <script type="text/javascript">
- var p = new Ext.Emerson.Person({name: "Chris Mao"});
- p.print(); //調用print()方法
- </script>
- </head>
- <body>
- </body>
- </html>
定義類靜態方法
- Ext.Emerson.Person.print = function(_name) {
- var p = new Ext.Emerson.Person();
- p.name = _name;
- p.print();
- }
使用樣本
- <html>
- <head>
- <link rel="stylesheet" type="text/css" href="http://plt385130:8080/ext-2.2/resources/css/ext-all.css"/>
- <script type="text/javascript" src="http://plt385130:8080/ext-2.2/adapter/ext/ext-base.js"></script>
- <script type="text/javascript" src="http://plt385130:8080/ext-2.2/ext-all.js"></script>
- <script type="text/javascript" src="Person.js"></script>
- <script type="text/javascript">
- var p = new Ext.Emerson.Person();
-
- //調用靜態方法
- Ext.Emerson.Person.print('毛子兵');
- </script>
- </head>
- <body>
- </body>
- </html>
類繼承
定義一個Student類,繼承於Person類,並添加了Job屬性。
- Ext.Emerson.Student = function(_cfg) {
- //do something
- Ext.apply(this, _cfg);
- };
- Ext.extend(Ext.Emerson.Student, Ext.Emerson.Person, {job: "學生"});