posts - 283,  comments - 6275,  trackbacks - 107
     在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 代震军 阅读(583) 评论(0)  编辑 收藏
昵称:代震军
园龄:5年11个月
荣誉:推荐博客
粉丝:492
关注:3

<2012年2月>
2930311234
567891011
12131415161718
19202122232425
26272829123
45678910

搜索

 
 

常用链接

随笔分类(366)

随笔档案(283)

文章分类(8)

文章档案(31)

相册

JavaScript

LINQ

silverlight

UML,OO

WebBlogger

负载开源项目

  • Discuz!NT
  • LLServer
  • TokyoTyrantClient
  • WebCam

个人简历

漫画

其它

企业级架构

网站案例研究

积分与排名

  • 积分 - 1217876
  • 排名 - 26

最新评论

阅读排行榜

评论排行榜

推荐排行榜