1. GI的JS框架中也有类似Java的Reflect的特性,比如forName()方法。
2. GI的JS中也是单根继承, 可以实现多个接口。需要定义constructor,名字必须是init(). Class/Interface中可以定义成员方法, 静态方法和抽像方法,成员变量,静态变量.
例子在下面一断代码块里, 从GI的API里拷出来的。
2. GI的JS中也是单根继承, 可以实现多个接口。需要定义constructor,名字必须是init(). Class/Interface中可以定义成员方法, 静态方法和抽像方法,成员变量,静态变量.
例子在下面一断代码块里, 从GI的API里拷出来的。
/*
You may obtain an instance of jsx3.lang.Class in one of the following ways:
*/
var c = jsx3.Class.forName("jsx3.Object");
var c = jsx3.Object.jsxclass;
/*
This class is also used for defining classes. Use one of defineClass and defineInterface to define a class in the JSX class hierarchy. Note that any class defined in the package jsx3.lang is aliased into the jsx3 package. Therefore jsx3.lang.Object may also be referenced as jsx3.Object.
The following are class nomenclature definitions using jsx3.lang.Object as an example:
*/
/*
jsx3.lang — the package, an instance of (JavaScript, not JSX) Object
jsx3.lang.Object — the class constructor, instance of Function
jsx3.lang.Object.jsxclass — the class, instance of jsx3.lang.Class
jsx3.lang.Object.prototype — the class prototype, instance of Object
The following is an example of how to define a new class called Example in package eg:
*/
jsx3.lang.Class.defineClass(
"eg.Example", // the full name of the class to create
eg.Base, // the class extends eg.Base
[eg.Comparable, eg.Testable], // the class implements interfaces eg.Comparable and eg.Testable
function(Example) { // name the argument of this function "Example"
// every class must define an init method since it is called automatically by the constructor
Example.prototype.init = function(arg1) {
this.arg1 = arg1;
};
// define an instance method like this:
Example.prototype.instanceMethod = function() {
...
};
// define an abstract method like this:
Example.prototype.abstractMethod = jsx3.Method.newAbstract();
// define a static method like this:
Example.staticMethod = function() {
...
};
// define a static field like this:
Example.STATIC_FIELD = "...";
// define an instance field like this:
Example.prototype.instanceField = "...";
}
);
本文介绍了GI JavaScript框架的特点,包括类似Java Reflect的特性、单根继承机制及如何定义类和接口等。通过示例展示了如何使用jsx3.lang.Class来定义类、实例方法、抽象方法、静态方法、成员变量等内容。
2301

被折叠的 条评论
为什么被折叠?



