?? class.md.svn-base
字號:
Native: Class {#Class}
======================
[MooTools](http://mootools.net/)框架中類機制的提供者
Class 方法: constructor {#Class:constructor}
----------------------------------------------
### 語法:
var MyClass = new Class(properties);
### 參數:
1. properties - (*object*) 一組將應用到新建類上的屬性集合. 另外也接受一組特殊的屬性,如:Extends, Implements, 以及initialize. 參見如下:
#### 屬性: Extends
* (*class*) 將被新類繼承的父類
新建的類將包含父類中的所有方法,并且每個方法都有一個parent屬性,通過它可以調用父方法
#### 屬性: Implements
* (*object*) 如果傳入的是一個對象, 則該對象的屬性將被復制至新類中
* (*class*) 如果傳入的是一個Class,則該Class的屬性將將被復制至新類中
* (*array*) 如果傳入的是一個數組(數組元素是對象或Class),則數組中的對象或Class的屬性將將被復制至新類中
Implements和Extends十分相似, 但Implements的同名屬性會被子類覆蓋(不像Extends可以通過parent仍可調用). 對需要在新類中實現一組默認屬性(來自其他類)的情況下非常有用.
#### 屬性: initialize
* (*function*) initialize函數作為類實例化時的構造方法
### 返回值:
* (*class*) 新建的類
### 示例:
#### Class創建演示:
var Cat = new Class({
initialize: function(name){
this.name = name;
}
});
var myCat = new Cat('Micia');
alert(myCat.name); //顯示 'Micia'
var Cow = new Class({
initialize: function(){
alert('moooo');
}
});
var Effie = new Cow($empty); //注意: 這里將不會顯示'moooo', 因為initialize方法已被$empty函數覆蓋
#### Extends使用演示:
var Animal = new Class({
initialize: function(age){
this.age = age;
}
});
var Cat = new Class({
Extends: Animal,
initialize: function(name, age){
this.parent(age); //調用Animal的initalize方法
this.name = name;
}
});
var myCat = new Cat('Micia', 20);
alert(myCat.name); //顯示 'Micia'.
alert(myCat.age); //顯示 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); //顯示 'Micia'.
Class 方法: implement {#Class:implement}
------------------------------------------
將傳入的屬性實現到該類的prototype中.
等同于在[新創建類](#Class:constructor)時使用Implements屬性, 但它的方便之處在于可在創建類之后隨時更改已有的類
### 語法:
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); //顯示 'Micia'
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -