ajax类接口枚举
来源:互联网 发布:手机淘宝搜索不到宝贝 编辑:程序博客网 时间:2024/05/17 16:01
Namespace.js代码:
//注册命名空间Lin
Type.registerNamespace("Lin")
/**//*************************************************************/
//定义一个表示相对位置的枚举类型
Lin.Position=function()...{
throw Error.notImplemented();
}
Lin.Position.prototype=...{
Center: 0,
Top: 1,
Bottom: 2,
Left: 3,
Rigth: 4
}
//注册
Lin.Position.registerEnum("Lin.Position");
/**//*************************************************************/
//声明一个接IRunnalbe
Lin.IRunnable=function()...{}
//在接口IRunnalbe原型中定义名为run()的空方法
Lin.IRunnable.prototype=...{
run: function()...{}
}
//注册接口
Lin.IRunnable.registerInterface("Lin.IRunnable");
/**//*************************************************************/
//Animal 基类的构造函数
Lin.Animal = function(name) ...{
this._name=name;
}
// Animal类的方法 要使用JavaScript中的原型prototype机制
Lin.Animal.prototype = ...{
get_Name: function()...{
return this._name;
},
set_Name: function()...{
return this._name;
},
eat: function()...{
alert("基类:Animal中的eat()方法");
},
cry: function()...{
alert("基类:Animal中的cry()方法!");
}
}
// 注册基类Animal
Lin.Animal.registerClass("Lin.Animal", null, Sys.IDisposable);
/**//*************************************************************/
//定义类:鱼Fish
// Lin.Fish.initializeBase(this,[name]);调用父类的构造函数。
Lin.Fish=function(name)...{
Lin.Fish.initializeBase(this,[name]);
}
//让类Fish继承自基类Animal并注册Fish类
Lin.Fish.registerClass("Lin.Fish",Lin.Animal);
//在基于asp.net ajax客户端框架声明的某个类中,所有的方法均可被子类重写。
Lin.Fish.prototype=...{
//子类Fish重写父类中的eat()方法
eat: function()
...{
alert("子类:Fish,重写父类Animal的eat()方法!");
},
//若要在重写方法中调用父类的原方法,可使用callBaseMethod()方法。
cry: function()...{
Lin.Fish.callBaseMethod(this,"cry");
}
}
/**//*************************************************************/
//定义类:Dog
// Lin.Fish.initializeBase(this,[name]);调用父类的构造函数。
Lin.Dog=function(name)...{
Lin.Dog.initializeBase(this,[name]);
}
Lin.Dog.prototype=...{
//重写Animal类的eat()方法
eat: function()...{
Sys.Debug.trace("狗吃骨头!!");
},
//实现接口中的方法
run: function()...{
Sys.Debug.trace("狗开始跑了!!");
},
get_Position: function()...{
Sys.Debug.trace(Lin.Position.Left);
},
clear: function()...{
Sys.Debug.clearTrace();
},
//反射(reflection)可以提供运行时获取程序代码结构的能力。
isTest: function()...{
//反射的prototype方法 语法:NamespaceName.ClassName.[XX()方法]
Sys.Debug.trace("反射的prototype方法 语法:NamespaceName.ClassName.[XX()方法]");
//NamespaceName.ClassName.getBaseType() 得到基类的类型
Sys.Debug.trace("类Dog的基类是:"+Lin.Dog.getBaseType());
// NamespaceName.ClassName.getInterfaces() 得到实现的接口集合
Sys.Debug.trace("已实现的接口:"+Lin.Dog.getInterfaces());
Sys.Debug.trace("已实现的接口:"+Lin.Fish.getInterfaces());
//NamespaceName.ClassName.getName() 得到类型名
Sys.Debug.trace("Lin.Dog类型名:"+Lin.Dog.getName());
Sys.Debug.trace("Lin.Fish类型名:"+Lin.Fish.getName());
Sys.Debug.trace("Lin.Animal类型名:"+Lin.Animal.getName());
//NamespaceName.ClassName.inheritsFrom(Namespace.ClassName)判断是否继承了某个类
Sys.Debug.trace("Lin.Dog是否继承Lin.Animal:"+Lin.Dog.inheritsFrom(Lin.Animal));
Sys.Debug.trace("Lin.Dog是否继承Lin.Fish:"+Lin.Dog.inheritsFrom(Lin.Fish));
//NamespaceName.ClassName.implementsInterface(NamespaceName.InterfaceName)判断类是否实现接口
Sys.Debug.trace("类Dog是否实现IRunnable接口:"+Lin.Dog.implementsInterface(Lin.IRunnable));
Sys.Debug.trace("类Fish是否实现IRunnable接口:"+Lin.Fish.implementsInterface(Lin.IRunnable));
//Namespace.ClassName.isInstanceOfType(instance) 判断某个类型的实例是否是这个类型。是返回true,否则返回false
Sys.Debug.trace("Lin.Dog是否是Lin.Animal类型:"+Lin.Dog.isInstanceOfType(Lin.Dog));
Sys.Debug.trace("Type的静态方法");
//Type.getRootNamespaces() 得到根命名空间的集合
Sys.Debug.trace("根命名空间的集合:"+Type.getRootNamespaces());
//Type.isClass(Namespace.ClassName) 判断一个类型是否是类,是返回true,否则返回false
Sys.Debug.trace("Lin.Dog是否是一个类:"+Type.isClass(Lin.Dog));
Sys.Debug.trace("Lin是否是一个类:"+Type.isClass(Lin));
//Type.isNamespace(Namespace) 判断一个类型是否是命名空间
Sys.Debug.trace("Lin是否是一个命名空间:"+Type.isNamespace(Lin));
//Type.isEnum(TypeName) 判断一个类型是否是枚举类型
Sys.Debug.trace("Lin.Position是否是一个枚举类型:"+Type.isEnum(Lin.Position));
//Type.isFlags(TypeName) 判断一个类型是否是标记
Sys.Debug.trace("Lin.Position是否是一个标记:"+Type.isFlags(Lin.Position));
}
}
//Lin.Dog继承于Lin.Animal,实现了Lin.IRunnable接口
//实现多个接口语法如下:
//SomeClass.registerClass("SomeClass",SomeBaseClass,IInterface1,IInterface2,IInterface3)
Lin.Dog.registerClass("Lin.Dog",Lin.Animal,Lin.IRunnable);
Type.registerNamespace("Lin")
/**//*************************************************************/
//定义一个表示相对位置的枚举类型
Lin.Position=function()...{
throw Error.notImplemented();
}
Lin.Position.prototype=...{
Center: 0,
Top: 1,
Bottom: 2,
Left: 3,
Rigth: 4
}
//注册
Lin.Position.registerEnum("Lin.Position");
/**//*************************************************************/
//声明一个接IRunnalbe
Lin.IRunnable=function()...{}
//在接口IRunnalbe原型中定义名为run()的空方法
Lin.IRunnable.prototype=...{
run: function()...{}
}
//注册接口
Lin.IRunnable.registerInterface("Lin.IRunnable");
/**//*************************************************************/
//Animal 基类的构造函数
Lin.Animal = function(name) ...{
this._name=name;
}
// Animal类的方法 要使用JavaScript中的原型prototype机制
Lin.Animal.prototype = ...{
get_Name: function()...{
return this._name;
},
set_Name: function()...{
return this._name;
},
eat: function()...{
alert("基类:Animal中的eat()方法");
},
cry: function()...{
alert("基类:Animal中的cry()方法!");
}
}
// 注册基类Animal
Lin.Animal.registerClass("Lin.Animal", null, Sys.IDisposable);
/**//*************************************************************/
//定义类:鱼Fish
// Lin.Fish.initializeBase(this,[name]);调用父类的构造函数。
Lin.Fish=function(name)...{
Lin.Fish.initializeBase(this,[name]);
}
//让类Fish继承自基类Animal并注册Fish类
Lin.Fish.registerClass("Lin.Fish",Lin.Animal);
//在基于asp.net ajax客户端框架声明的某个类中,所有的方法均可被子类重写。
Lin.Fish.prototype=...{
//子类Fish重写父类中的eat()方法
eat: function()
...{
alert("子类:Fish,重写父类Animal的eat()方法!");
},
//若要在重写方法中调用父类的原方法,可使用callBaseMethod()方法。
cry: function()...{
Lin.Fish.callBaseMethod(this,"cry");
}
}
/**//*************************************************************/
//定义类:Dog
// Lin.Fish.initializeBase(this,[name]);调用父类的构造函数。
Lin.Dog=function(name)...{
Lin.Dog.initializeBase(this,[name]);
}
Lin.Dog.prototype=...{
//重写Animal类的eat()方法
eat: function()...{
Sys.Debug.trace("狗吃骨头!!");
},
//实现接口中的方法
run: function()...{
Sys.Debug.trace("狗开始跑了!!");
},
get_Position: function()...{
Sys.Debug.trace(Lin.Position.Left);
},
clear: function()...{
Sys.Debug.clearTrace();
},
//反射(reflection)可以提供运行时获取程序代码结构的能力。
isTest: function()...{
//反射的prototype方法 语法:NamespaceName.ClassName.[XX()方法]
Sys.Debug.trace("反射的prototype方法 语法:NamespaceName.ClassName.[XX()方法]");
//NamespaceName.ClassName.getBaseType() 得到基类的类型
Sys.Debug.trace("类Dog的基类是:"+Lin.Dog.getBaseType());
// NamespaceName.ClassName.getInterfaces() 得到实现的接口集合
Sys.Debug.trace("已实现的接口:"+Lin.Dog.getInterfaces());
Sys.Debug.trace("已实现的接口:"+Lin.Fish.getInterfaces());
//NamespaceName.ClassName.getName() 得到类型名
Sys.Debug.trace("Lin.Dog类型名:"+Lin.Dog.getName());
Sys.Debug.trace("Lin.Fish类型名:"+Lin.Fish.getName());
Sys.Debug.trace("Lin.Animal类型名:"+Lin.Animal.getName());
//NamespaceName.ClassName.inheritsFrom(Namespace.ClassName)判断是否继承了某个类
Sys.Debug.trace("Lin.Dog是否继承Lin.Animal:"+Lin.Dog.inheritsFrom(Lin.Animal));
Sys.Debug.trace("Lin.Dog是否继承Lin.Fish:"+Lin.Dog.inheritsFrom(Lin.Fish));
//NamespaceName.ClassName.implementsInterface(NamespaceName.InterfaceName)判断类是否实现接口
Sys.Debug.trace("类Dog是否实现IRunnable接口:"+Lin.Dog.implementsInterface(Lin.IRunnable));
Sys.Debug.trace("类Fish是否实现IRunnable接口:"+Lin.Fish.implementsInterface(Lin.IRunnable));
//Namespace.ClassName.isInstanceOfType(instance) 判断某个类型的实例是否是这个类型。是返回true,否则返回false
Sys.Debug.trace("Lin.Dog是否是Lin.Animal类型:"+Lin.Dog.isInstanceOfType(Lin.Dog));
Sys.Debug.trace("Type的静态方法");
//Type.getRootNamespaces() 得到根命名空间的集合
Sys.Debug.trace("根命名空间的集合:"+Type.getRootNamespaces());
//Type.isClass(Namespace.ClassName) 判断一个类型是否是类,是返回true,否则返回false
Sys.Debug.trace("Lin.Dog是否是一个类:"+Type.isClass(Lin.Dog));
Sys.Debug.trace("Lin是否是一个类:"+Type.isClass(Lin));
//Type.isNamespace(Namespace) 判断一个类型是否是命名空间
Sys.Debug.trace("Lin是否是一个命名空间:"+Type.isNamespace(Lin));
//Type.isEnum(TypeName) 判断一个类型是否是枚举类型
Sys.Debug.trace("Lin.Position是否是一个枚举类型:"+Type.isEnum(Lin.Position));
//Type.isFlags(TypeName) 判断一个类型是否是标记
Sys.Debug.trace("Lin.Position是否是一个标记:"+Type.isFlags(Lin.Position));
}
}
//Lin.Dog继承于Lin.Animal,实现了Lin.IRunnable接口
//实现多个接口语法如下:
//SomeClass.registerClass("SomeClass",SomeBaseClass,IInterface1,IInterface2,IInterface3)
Lin.Dog.registerClass("Lin.Dog",Lin.Animal,Lin.IRunnable);
default.aspx代码如:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Namespace</title>
</head>
<body>
<form id="Form1" runat="server">
<%-- 最好在ScriptManager里面加入一个Scirpts标签然后在Scripts里加入
<asp:ScriptReference Path="js"/>,因为使用ScriptManager来引用
会自动导入Asp.Net Ajax的客户端组件的js文件--%>
<asp:ScriptManager ID="sm" runat="server" >
<Scripts>
<asp:ScriptReference Path="Namespace.js" />
</Scripts>
</asp:ScriptManager>
</form>
<div>
<p>Animal类中的方法 </p>
<input id="btnAnimal" type="button" value="基类Animal构造方法" onclick="return btnAnimal()"/>
<input id="btn1" type="button" value="基类Animal:eat()方法" onclick="return btn1Click()" />
<input id="btn2" type="button" value="基类Animal:cry()方法" onclick="return btn2Click()"/>
<hr />
<p>Animal的子类Fish类中的方法</p>
<input id="btnFish" type="button" value="子类Fish构造方法" onclick="return btnFish()"/>
<input id="btn3" type="button" value="子类Fish:eat()方法" onclick="return btn3Click()" />
<input id="btn4" type="button" value="子类Fish调用基类中的cry()方法" onclick="return btn4Click()"/>
<hr />
<p>Animal的子类Dog类中的方法</p>
<input id="btnDog" type="button" value="子类Dog构造方法" onclick="return btnDog()"/>
<input id="btn5" type="button" value="子类Dog:eat()方法" onclick="return btn5Click()"/>
<input id="btn6" type="button" value="子类实现接口IRunnable中的run()方法" onclick="return btn6Click()"/>
<input id="btn7" type="button" value="得到枚举Position.Left的值" onclick="return btn7Click()"/>
<hr />
<input id="btnisTest" type="button" value="反射测试" onclick="return btnisTest()"/>
<p>调 试 信 息</p>
<textarea id="TraceConsole" style="width: 650px; height: 300px;" rows="5" cols="5"></textarea>
<br />
<input id="btnClear" type="button" value="清 除" onclick="btnClear()" />
</div>
<%-- 使用Asp.Net Ajax客户端编程可能需要用到js文件,那么在页面上需要引入这个js文件。
但是不能使用src=地址这种方法引入文件,因为直接使用这种方法导入文件,要包含
Asp.Net Ajax客户端组件的js文件。--%>
<%--<script type="text/javascript" src="Namespace.js" ></script>--%>
<script type="text/javascript" language="JavaScript">
var animal = new Lin.Animal("Animal类初始化");
var fish=new Lin.Fish("Fish类初始化");
var dog=new Lin.Dog("Dog类初始化");
//animal
function btnAnimal()
...{
alert(animal.get_Name());
return false
}
function btn1Click()
...{
animal.eat();
return false;
}
function btn2Click()
...{
animal.cry();
return false;
}
//fish
function btnFish()
...{
//子类继承父类中的get_Name()方法
alert(fish.get_Name());
return false;
}
function btn3Click()
...{
fish.eat();
return false;
}
function btn4Click()
...{
fish.cry();
return false;
}
//dog
function btnDog()
...{
alert(dog.get_Name());
return false;
}
function btn5Click()
...{
dog.eat();
return false;
}
function btn6Click()
...{
dog.run();
return false;
}
function btn7Click()
...{
dog.get_Position();
return false;
}
function btnClear()
...{
dog.clear();
}
function btnisTest()
...{
dog.isTest();
return false;
}
</script>
</body>
</html>
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Namespace</title>
</head>
<body>
<form id="Form1" runat="server">
<%-- 最好在ScriptManager里面加入一个Scirpts标签然后在Scripts里加入
<asp:ScriptReference Path="js"/>,因为使用ScriptManager来引用
会自动导入Asp.Net Ajax的客户端组件的js文件--%>
<asp:ScriptManager ID="sm" runat="server" >
<Scripts>
<asp:ScriptReference Path="Namespace.js" />
</Scripts>
</asp:ScriptManager>
</form>
<div>
<p>Animal类中的方法 </p>
<input id="btnAnimal" type="button" value="基类Animal构造方法" onclick="return btnAnimal()"/>
<input id="btn1" type="button" value="基类Animal:eat()方法" onclick="return btn1Click()" />
<input id="btn2" type="button" value="基类Animal:cry()方法" onclick="return btn2Click()"/>
<hr />
<p>Animal的子类Fish类中的方法</p>
<input id="btnFish" type="button" value="子类Fish构造方法" onclick="return btnFish()"/>
<input id="btn3" type="button" value="子类Fish:eat()方法" onclick="return btn3Click()" />
<input id="btn4" type="button" value="子类Fish调用基类中的cry()方法" onclick="return btn4Click()"/>
<hr />
<p>Animal的子类Dog类中的方法</p>
<input id="btnDog" type="button" value="子类Dog构造方法" onclick="return btnDog()"/>
<input id="btn5" type="button" value="子类Dog:eat()方法" onclick="return btn5Click()"/>
<input id="btn6" type="button" value="子类实现接口IRunnable中的run()方法" onclick="return btn6Click()"/>
<input id="btn7" type="button" value="得到枚举Position.Left的值" onclick="return btn7Click()"/>
<hr />
<input id="btnisTest" type="button" value="反射测试" onclick="return btnisTest()"/>
<p>调 试 信 息</p>
<textarea id="TraceConsole" style="width: 650px; height: 300px;" rows="5" cols="5"></textarea>
<br />
<input id="btnClear" type="button" value="清 除" onclick="btnClear()" />
</div>
<%-- 使用Asp.Net Ajax客户端编程可能需要用到js文件,那么在页面上需要引入这个js文件。
但是不能使用src=地址这种方法引入文件,因为直接使用这种方法导入文件,要包含
Asp.Net Ajax客户端组件的js文件。--%>
<%--<script type="text/javascript" src="Namespace.js" ></script>--%>
<script type="text/javascript" language="JavaScript">
var animal = new Lin.Animal("Animal类初始化");
var fish=new Lin.Fish("Fish类初始化");
var dog=new Lin.Dog("Dog类初始化");
//animal
function btnAnimal()
...{
alert(animal.get_Name());
return false
}
function btn1Click()
...{
animal.eat();
return false;
}
function btn2Click()
...{
animal.cry();
return false;
}
//fish
function btnFish()
...{
//子类继承父类中的get_Name()方法
alert(fish.get_Name());
return false;
}
function btn3Click()
...{
fish.eat();
return false;
}
function btn4Click()
...{
fish.cry();
return false;
}
//dog
function btnDog()
...{
alert(dog.get_Name());
return false;
}
function btn5Click()
...{
dog.eat();
return false;
}
function btn6Click()
...{
dog.run();
return false;
}
function btn7Click()
...{
dog.get_Position();
return false;
}
function btnClear()
...{
dog.clear();
}
function btnisTest()
...{
dog.isTest();
return false;
}
</script>
</body>
</html>
- ajax类接口枚举
- ? 枚举类实现接口
- 新瓶旧酒ASP.NET AJAX(2) - 客户端脚本编程(命名空间、类、成员、接口、继承、枚举)
- 【java】枚举类实现接口
- 实现接口的枚举类
- 实现接口的枚举类
- C#枚举、类、多态、接口
- java_实现接口的枚举类
- 常量接口 vs 枚举常量类
- 常量接口 vs 枚举常量类
- 接口、内部类、枚举类、gc
- 常量接口 vs 枚举常量类
- 定义常量方式(类,接口,枚举)
- 枚举数组接口
- winpcap--枚举网络接口
- Java 枚举:实现接口
- 枚举实现含有接口
- java 枚举实现接口
- 阴阳鱼之周期性振幅,与面积
- 代理蠕虫新变种 利用常用工具下载新病毒
- 禁止ie弹出alert窗口
- int,number区别
- 找房子[zz:http://hi.baidu.com/15810056248/blog/item/c75499073867a4cf7a89477a.html]
- ajax类接口枚举
- 二价--无穷价阴阳鱼函式
- 探究X Window System运行原理与启动过程
- SQL注入天书—ASP注入漏洞全接触
- 不知道标题是什么
- Lucene RAMDirectory 慎用
- 多项式求值算法(递归)
- java Singleton模式
- 转--JAVA_Properties类