随笔 - 196  文章 - 43  评论 - 4287 
     在mootools中可以使用initialize方法进行类初始化构构造如下(源码包中的basic_class.htm):

function AnnounceClass()
{
    
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'
);
        }
    });
    
var Effie = new Cow($empty); //不会alert 'moooo', 因为初始化方法被$empty方 法 overridden

}
AnnounceClass();


     在Extends中可以有同名的方法, 也会有一个 parent 属性, 这将允许您调用其他的 overridden 方法:

function extendsClass()
{
    
var Animal = new
 Class({
        initialize: 
function
(age){
            
this.age =
 age;
        },
        setName: 
function(name){ //此函数会在下面的类中被重写

            this.name = name;
        }
    });
    
var Cat = new
 Class({
        Extends: Animal,
        initialize: 
function
(age){
            
this.parent(age); //调用Animal的initalize

        },
        setName: 
function
(name){
            
this.name = name + " cat"
;
        }
    });
    
var myCat = new Cat(20
);
    myCat.setName(
'Micia'
);
    alert(myCat.name); 
//Alerts 'Micia'.

    alert(myCat.age); //Alerts 20.
}
extendsClass();


    Implements 与 Extends 类似, except that it overrides properties without inheritance. 可用于在多个
类中实现一系列默认属性.(注:Implements 不会重写同名方法,而只会调用Implements所实现类中的同名方法,如
下所示):
function implementsClass()
{
    
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'.

}
implementsClass();

    好了,今天的内容就到这里了。
    
    下载DEMO,请
点击这里
    
    tag:mootools, 1.2    
    作者:代震军, daizhj
    原文链接:
http://www.cnblogs.com/daizhj/articles/1291589.html
posted on 2008-09-16 12:48 代震军 阅读(378) 评论(0)  编辑 收藏 网摘
发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 1291589




相关文章:

相关链接: