Dojo中类的定义

JavaScript是基于对象的脚本语言,但是它的结构体系与i面向对象语言如Java并不一样,这对于习惯了面向对象的程序员来说,有时候适应起来并不那么容易。而DOJO,这个封装了JavaScript的库,提供了面向对象编程的概念,如类、构造器、继承等。本文主要介绍dojo中类的定义格式以及各参数的设置。

先看一个小例子:

dojo.provide("custom.javascript.Student);
dojo.declare("custom.javascript.Student",null,{
    firstName: "",middleName:"",lastName: "",constructor: function(fName,mName,lName){
        this.firstName = fName;
        this.middleName=mName;
        this.lastName = lName;
    },buyBook: function(bookName,num){
        alert(firstName+" "+middleName+" "+lastName+" want to buy "+num+" "+bookName);
    }
});

示例定义了一个Student类,第一条语句dojo.peovide("custom.javascript.Student"),与调用类时的dojo.require("custom.javascript.Student")相对应。dojo中类的定义格式为:dojo.declare(className,superClass,classMemeber),该方法有三个参数,各参数含义如下:

1.第一个参数className为类名,如示例中的custom.javaworld.Student;

2.第二个参数为该类的父类,dojo中提供了多重继承,当有多个父类时,使用[superClass1,superClass2,...]格式,示例中值为null,因为该类不继承自任何类;

3.第三个参数为类的成员定义,与一般面向对象语言一样,dojo中类的成员也包括字段和方法,定义格式为一个HashMap(键:值),示例中,firstName,middleName,lastName为类的字段,constructor为类的构造器,用它来构造对象,buyBook为学生类的一个方法

dojo中,类定义后,同样可以如其他语言一样,使用new className()来构造对象,如本例中,可使用new custom.javaworld.Student();

相关文章

参考博客:https://blog.csdn.net/blog_szhao/article/details/50220181           https://doj...
我有一个包含多个字段的Dojo DataGrid.我目前正在设置查询一次搜索一个字段,如下所示: grid.setQuery(...
我正在使用JsonRestStore,但想为它添加一个自定义Accept标头.最好的方法是什么? 这与dijit.layout.Con...
我需要选择一个给定其URL的链接节点.使用属性选择器的效果非常好,除了少数几个url有tilda的情况.我无法...
我正在尝试使用Dojo JSONREST的增强网格,我遇到了一些问题. 我一直在寻找一些例子,但无法弄清楚如何做我...
如何根据一些运行时参数隐藏dgrid(gridFrom Html)中的完整列? 让我们说如果参数的值为true我应该能够显...