在asp.net ajax框架中,命名空间、类、继承、接口、枚举的实现方法:
[注意]把**防删符**替换为函数的英文。
------------------------------
//声明命名空间
Type.registerNamespace("Test");
//Animal类的字段
Test.Animal = **防删符**(name) {
this._name = name;
}
//Animal类的方法
Test.Animal.prototype = {
get_Name: **防删符**() {
return this._name;
},
set_Name: **防删符**() {
return this._name;
},
eat: **防删符**() {
Sys.Debug.trace("Animal eats.");
}
}
//注册Test.Animal类
Test.Animal.registerClass("Test.Animal");
//声明子类Fish
Test.Fish = **防删符**(name) {
//初始化父类
Test.Fish.initializeBase(this, [name]);
}
Test.Fish.prototype = {
eat: **防删符**() {
Sys.Debug.trace("Fish eat");
}
}
//注册Test.Fish类
Test.Fish.registerClass("Test.Fish", Test.Animal);
//声明接口Interface
Test.IRunnable = **防删符**() { }
Test.IRunnable.prototype = {
run: **防删符**() { }
}
Test.IRunnable.registerInterface("Test.IRunnable");
//Dog类实现了Test.IRunnable接口
Test.Dog = **防删符**(name) {
Test.Dog.initializeBase(this, [name]);
}
Test.Dog.prototype = {
eat: **防删符**() {
Sys.Debug.trace("Dog eats.");
},
run: **防删符**() {
Sys.Debug.trace("Dog running.");
}
}
Test.Dog.registerClass("Test.Dog", Test.Animal, Test.IRunnable);
//声明一个枚举
Test.Position = **防删符**() { };
Test.Position.prototype = {
Center:0,
Top: 1,
Bottom: 2,
Left: 3,
Right:4
}
Test.Position.registerEnum("Test.Position");