当前位置: 首页 > 文档资料 > MooTools 中文文档 >

Class

优质
小牛编辑
130浏览
2023-12-01

Class

MooTools框架的基类。

Class Method: constructor

语法:

var MyClass = new Class(properties);

参数:

  1. 性能 - 可以是以下类型之一:
    • (object)类属性的集合。还接受一些特殊属性,如Extends, Implements和initialize(见下文) 。
    • (function)initialize(初始化)函数(见下文) 。

Property: Extends

  • (class)这个类将被扩展(基类)。

也基类有同名方法,用this.parent访问基类的同名方法,所以你可以重写方法.

Property: Implements

  • (class)这个类的属性将被复制到目标类。
  • (array)类的数组,所有类的属性将被复制到目标类。

Implements与Extends类似,但Implements可以多继承,Implements应该放在Extends之后,但在其它属性之前.

Property: initialize

  • (function)构造函数,当实例被创建时执行。

Property: toElement

  • (function)返回一个html元素。当在document.id()函数里时,此方法会被自动调用。

返回:

  • (class)创建的类。

示例:

Class示例:

var Cat = new Class({
    initialize: function(name){
        this.name = name;
    }
});
var myCat = new Cat('Micia');
alert(myCat.name); // alerts 'Micia'
 
var Cow = new Class({
    initialize: function(){
        alert('moooo');
    }
});

Extends示例:

var Animal = new Class({
    initialize: function(age){
        this.age = age;
    }
});
var Cat = new Class({
    Extends: Animal,
    initialize: function(name, age){
        this.parent(age); // calls initalize method of Animal class
        this.name = name;
    }
});
var myCat = new Cat('Micia', 20);
alert(myCat.name); // alerts 'Micia'.
alert(myCat.age); // alerts 20.

Implements示例:

var Animal = new Class({
    initialize: function(age){
        this.age = age;
    }
});
var Cat = new Class({
    Implements: Animal,
    setName: function(name){
        this.name = name
    }
});
var myAnimal = new Cat(20);
myAnimal.setName('Micia');
alert(myAnimal.name); // alerts 'Micia'.

Class Method: implement

改变基类的原型,和new Class(Implements:function(){})一样,但方便修改已存在的类.

语法:

MyClass.implement(properties);

参数:

  1. properties - (object)添加到基类的属性。

示例:

var Animal = new Class({
    initialize: function(age){
        this.age = age;
    }
});
Animal.implement({
    setName: function(name){
        this.name = name;
    }
});
var myAnimal = new Animal(20);
myAnimal.setName('Micia');
alert(myAnimal.name); // alerts 'Micia'