一起来学ASP.NET Ajax(三)之面向对象类型系统
来源:互联网 发布:nginx upupw 1.8.0 编辑:程序博客网 时间:2024/05/16 08:47
我们知道JavaScript是一种基于prototype的面向对象脚本语言,其面向对象特性可以参见我的博客《JavaScript中的面向对象》,但是 JavaScript 本身不能作为面向对象的语言,因为它无法全面实现面向对象编程的三个支柱:继承、多态性和封装,虽然通过对象原型可以获得部分继承特性,通过闭包也可以获得部分封装特性。因此 Microsoft AJAX Library 会先为语言提供更多强大的工具,然后再继续定义新的类和编程工具。
HTML代码:
<html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title>面向对象系统</title></head><body> <form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <script language ="javascript" type="text/javascript"> //注册命名空间 Type.registerNamespace("AspNetAjaxOverView"); //空间下建立类 AspNetAjaxOverView.Person = function (firstName, lastName) { //下划线开头表示私有 this._firstName = firstName; this._lastName = lastName; } //修改person的prototype AspNetAjaxOverView.Person.prototype = { get_firstName: function () { return this._firstName; }, get_lastName: function () { return this._lastName; }, //覆写toString toString: function () { return String.format("Hello,I am {0} {1}",this.get_firstName(), this.get_lastName()); } } //注册Person类 AspNetAjaxOverView.Person.registerClass("AspNetAjaxOverView.Person"); //命名空间下添加employee类 AspNetAjaxOverView.Employee = function (firstName, lastName, title) { AspNetAjaxOverView.Employee.initializeBase(this, [firstName, lastName]); this._title = title; } //修改Employee的prototype AspNetAjaxOverView.Employee.prototype = { get_title: function () { return this._title; }, toString: function () { return AspNetAjaxOverView.Employee.callBaseMethod(this, "toString") +". "+ "My position is" + " "+this.get_title() + "."; } } //让employee继承person AspNetAjaxOverView.Employee.registerClass("AspNetAjaxOverView.Employee", AspNetAjaxOverView.Person); </script> <!--两个按钮,alert姓名和职位--> <input id="btnBill" type="button" value="Bill Gates" onclick="alert(new AspNetAjaxOverView.Employee('Bill','Gates','chairman'));" /> <input id="btnLida" type="button" value="Li Da" onclick="alert(new AspNetAjaxOverView.Employee('Li','Da','CEO'));" /> </form></body></html>运行结果:
在此DEMO中,使用客户端的面向对象系统编程,可以看到在ASP.NET中,更方便直观的定义类、继承等信息,这里常用的主要是注册命名空间、注册类及继承的使用方法。
- 一起来学ASP.NET Ajax(三)之面向对象类型系统
- 一起来学ASP.NET Ajax(一)之初识Ajax
- 一起来学ASP.NET Ajax(四)之异步通信层
- 一起来学ASP.NET Ajax(五)之使用服务
- 一起来学ASP.NET Ajax(二)之初识ASP.NET Ajax
- Asp.Net Ajax 学习笔记11 Microsoft AJAX Library中的面向对象类型系统
- 一起来学ASP.NET Ajax(六)之UpdatePanel简单应用及其原理
- Ajax 面向对象类型系统
- 学java教程之面向对象(三)
- asp.net ajax 类型系统demo
- Go面向对象编程之系统类型
- 剖析ASP.NET AJAX的面向对象思想
- 剖析ASP.NET AJAX的面向对象思想
- ASP.NET AJAX的面向对象思想--接口
- ASP.NET AJAX的面向对象思想--枚举
- 剖析ASP.NET AJAX的面向对象思想
- Asp.net Ajax 客户端编程—面向对象
- 《asp.net 2.0 开发指南》读书笔记之三 4.5 面向对象的特性
- 夏季出汗要注意,此症状也会反应你身体的状态
- 关于Android的Activity的onCreate多次调用的问题
- PKU 1830 开关问题
- HTTP Header 详解
- SQL SERVER 与ACCESS、EXCEL的数据转换
- 一起来学ASP.NET Ajax(三)之面向对象类型系统
- httpwatch professional7.0.23 破解版
- 在eclipse中编译Launcher2的方法
- 在Linux下用C语言操作数据库sqlite3(查询)
- java中线程的简单的线程的多线程的一个区别
- ios如何判断当前网络的运营商
- Oracle R12 多组织访问的控制 - MOAC(Multi-Org Access Control)
- 【cocos2d-x】CCScene CCLayer CCSprite CCNode 描述
- 跳转中用到的定时功能