剖析ASP.NET AJAX的面向对象思想(2)_.Net教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:ASP.NET缓存:方法分析和实践示例
尽早缓存;经常缓存 您应该在应用程序的每一层都实现缓存。向数据层、业务逻辑层、UI 或输出层添加缓存支持。内存现在非常便宜 — 因此,通过以智能的方式在整个应用程序中实现缓存,可以

2.访问修饰

许多面向对象编程语言都有访问修饰的概念。允许你指定类或成员在某种范围内有效。例如可在外部执行的程序、具有相同名字空间的内部类或特指的代码快内的类等。在JavaScript中没有访问修饰,但在ASP.NET AJAX中约定以下划线字符开头"_"的被认为是私有的,类的外部不能访问。

3.继承

继承是一个类派生于另一个类的能力。派生类自动继承基类的所有字段、属性、方法和事件。派生类可以增加新的成员或者重写基类已存在的成员来改变成员的行为。

下面的脚本实例有两个类Person和Employee,Employee从Person继承而来,两个类示范了私有字段的使用,它们都有公共属性、方法。另外Employee类重写了Person类的toString实现,并调用了基类的功能。

Type.registerNamespace("Demo");

  Demo.Person = function(firstName, lastName, emailAddress) {

  this._firstName = firstName;

  this._lastName = lastName;

  this._emailAddress = emailAddress;

  }

  Demo.Person.prototype = {

  getFirstName: function() {

  return this._firstName;

  },

  getLastName: function() {

  return this._lastName;

  },

  getEmailAddress: function() {

  return this._emailAddress;

  },

  setEmailAddress: function(emailAddress) {

  this._emailAddress = emailAddress;

  },

  getName: function() {

  return this._firstName ' ' this._lastName;

  },

  dispose: function() {

  alert('bye ' this.getName());

  },

  sendMail: function() {

  var emailAddress = this.getEmailAddress();

  if (emailAddress.indexOf('@') < 0) {

  emailAddress = emailAddress '@example.com';

  }

  alert('Sending mail to ' emailAddress ' ...');

  },

  toString: function() {

  return this.getName() ' (' this.getEmailAddress() ')';

  }

  }

  Demo.Person.registerClass('Demo.Person', null, Sys.IDisposable);

  Demo.Employee = function(firstName, lastName, emailAddress, team, title) {

  Demo.Employee.initializeBase(this, [firstName, lastName, emailAddress]);

  this._team = team;

  this._title = title;

  }

  Demo.Employee.prototype = {

  getTeam: function() {

  return this._team;

  },

  setTeam: function(team) {

  this._team = team;

  },

  getTitle: function() {

  return this._title;

  },

  setTitle: function(title) {

  this._title = title;

  },

  toString: function() {

  return Demo.Employee.callBaseMethod(this, 'toString') '\r\n' this.getTitle() '\r\n' this.getTeam();

  }

  }

  Demo.Employee.registerClass('Demo.Employee', Demo.Person);

分享:Asp.Net中动态页面转静态页面
关于在Asp.Net中动态页面转静态页面的方法网上比较多。结合实际的需求,我在网上找了一些源代码,并作修改。现在把修改后的代码以及说明写一下。 一个是一个页面转换的类,该类通过静态函数Ch

来源:模板无忧//所属分类:.Net教程/更新时间:2008-08-22
相关.Net教程