针对Java 开发人员的Dojo 概念(2)
来源:优易学  2011-11-18 13:54:29   【优易学:中国教育考试门户网】   资料下载   IT书店

图 1. 上下文连接的工作原理

声明类

为什么连接如此重要?您将在声明 Dojo 类或创建自己的部件时体验到它的重要性。Dojo 的一大功能就是能够通过使用 dojo.connect 函数和内置的 pub/sub 模型将对象 “连接” 起来。

类的声明需要三个对象:

◆一个惟一的类名
◆用于扩展函数的父类(以及模拟多个继承的 “混合” 类)
◆定义所有属性和函数的 hash

清单 4 展示了最简单的类声明方式,清单 5 展示了该类的实例化。

清单 4. 基本的类声明

dojo.declare(
   "myClass",
   null,
   {}
);

清单 5. 基本的类实例化

var myClassInstance = new myClass();

如果希望声明一个 “真正的”(即有用的)Dojo 类,那么一定要理解构造函数。在 Java 代码中,您可以通过使用各种不同的签名声明多个重载的构造函数,从而支持实例化。在一个 Dojo 类中,可以声明一个 preamble、一个 constructor 和一个 postscript,但是在大多数情况下,您只需要声明一个构造函数。

除非混合使用了其他类来模拟多个继承,否则不需要用到 preamble,因为它允许您在 constructor 参数传递给扩展类和混合类之前对其进行处理。
postscript 产生了 Dojo 小部件生命周期方法,但对标准 Dojo 类没有什么用处。

不一定要全部都声明,但是要将所有值传递到类的实例中,就必须将 constructor 函数声明为 minimum。如果 constructor 参数将被该类的其他方法访问,必须将它们赋值给已声明的属性。清单 6 展示了一个类,它只将其中一个 constructor 参数赋值给一个类属性,并尝试在另一个方法中引用它们。

清单 6. 赋值构造函数参数

dojo.declare(
    "myClass",
    null,
    {
        arg1 : "",
        constructor : function(arg1, arg2) {
                          this.arg1 = arg1;
                      },
        myMethod : function() {
        console.log(this.arg1 + "," + this.arg2);
                   }
    }
);

var myClassInstance = new myClass("foo", "bar");
myClassInstance.myMethod();

图 2. 赋值构造函数参数的结果

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训