ExtJS 中自定义类

首先我们来看一看在Javascript中,是怎样自定义类的:

var Person = function (name, age) {
    this.Name = "";
    this.Age = 0;
    this.Say = function (msg) {
        alert(this.Name + " Says : " + msg);
    }

    this.init = function (name, age) {
        this.Name = name;
        this.Age = age;
    }

    this.init(name, age);
}

  在这段代码中,我们定义了Person类,它具有Name 和 Age 两个属性,具有 Say 和 init 公有方法。当类创建的时候,会定义通过调用init方法实现类的初始化(所以init方法可以看作是类的构造函数)。我们看一下该类的用法:

var Tom = new Person("Tom", 26);
Tom.Say("Hello");

  运行效果如图:

以此为参照,接下来我们来看看如何使用ExtJS.define 方法自定义类:

Ext.define("Person", {
    Name: '',
    Age: 0,
    Say: function (msg) {
        Ext.Msg.alert(this.Name + " Says:", msg);
    },
    constructor: function (name, age) {
        this.Name = name;
        this.Age = age;
    }
});

  在这段代码中,我们使用了Ext.define方法自定义一个Person类,它同样具有Name 和 Age 属性,具有Say 方法,constructor 则的它的构造函数,有了专用的构造函数,我们就省去了写init方法的代码,直接在构造函数中完成对类的初始化,它的使用方法没有改变,仍然是之前的代码:

var Tom = new Person("Tom", 26);
Tom.Say("Hello");

  

 

原文地址:https://www.cnblogs.com/ImaY/p/4552617.html