给Asp.Net初学者的关于继承和多态性的例子(1)

asp.net|初学|继承

    本人学Asp.Net不久,用的是C#写代码,在学习C#中发现很多初学者对继承和多态性不是特别的了解,因此作了这个例子,希望对您有所帮助,例子很简单
  
  页面文件TestProfileClass2.aspx
  <%@ Page Language="C#" ContentType="text/html" ResponseEncoding="gb2312" Src="profile2.cs" %>
  <%@ Import Namespace="shai" %>
  <html>
  <head>
  <style>
  div{font:Arial, Helvetica, sans-serif;
  background-color:#cccccc;
  border-color:black;
  border-width:1;
  border-style:solid;
  padding:10,10,10,10;
  }
  </style>
  <script language="c#" runat="server">
  public void Page_Load(Object sender,EventArgs e)
  {
   Profile profile = new Profile();
   message.InnerHtml += "<u>Profile Class</u><br>";
   message.InnerHtml += "Firstname:"+profile.getFirstname()+"<br>";
   message.InnerHtml += "Lastname:"+profile.getLastname()+"<br>";
   message.InnerHtml += "Phone:"+profile.getPhonenumber()+"<br><br>";
  
   profile.save();
  
   ExtendedProfile extendedprofile = new ExtendedProfile();
   message.InnerHtml += "<u>ExtendedProfile Class</u></br>";
   message.InnerHtml += "Firstname:"+profile.getFirstname()+"<br>";
   message.InnerHtml += "Lastname:"+profile.getLastname()+"<br>";
   message.InnerHtml += "Phone:"+extendedprofile.getPhonenumber()+"<br>";
   message.InnerHtml += "Address1:"+extendedprofile.getAddress1()+"<br>";
   message.InnerHtml += "Address2:"+extendedprofile.getAddress2()+"<br>";
   message.InnerHtml += "City:"+extendedprofile.getCity()+"<br>";
   message.InnerHtml += "State:"+extendedprofile.getState()+"<br>";
   message.InnerHtml += "Postal:"+extendedprofile.getPostal()+"<br>";
   message.InnerHtml += "Description:"+extendedprofile.getDescription()+"<br>";
  
   extendedprofile.save();
  }
  </script>
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  <title></title>
  </head>
  <body style="font:Arial, Helvetica, sans-serif ">
  <b><h3>简单的继承/多态例子</h3></b><br><br>
  object output:<br>
  <br>
  <div id="message" runat="server" />
  </body>
  </html>
  
  
  类定义文件profile2.cs
  using System;
  using System.IO;
  using System.Xml;
  namespace shai //名称空间shai
  {
   interface ISaveData //定义一个接口ISaveData,他作为Profile的基类被继承,由于其有多态性的特点,可以被
   { //不同类调用其中的方法,并修改
   void save();
   }
  
   public class Profile:ISaveData //定义类Profile
   {
   protected string _firstname; //里面包含三个属性,分别为_firstname、_lastname、phonenumber
   protected string _lastname;
   protected string _phonenumber;
  
   public Profile() //为属性定义其中的初始值
   {
   _firstname = "Saidy";
   _lastname = "Chen";
   _phonenumber = "(010)88716990";
   }
  
   public string getPhonenumber() //Profile类中的方法getPhonenumber()
   {
   return _phonenumber;
   }
   public virtual void setPhonenumber(string phonenumber)
   {
   _phonenumber = phonenumber;
   }
  
   public string getFirstname() //Profile类中的方法getFirstname()
   {
   return _firstname;
   }
   public void setFirstname(string firstname)
   {
   _firstname = firstname;
   }
  
   public string getLastname() //Profile类中的方法getLastname()
   {
   return _lastname;
   }
   public void setLastname(string lastname)
   {
   _lastname = lastname;
   }
  
   public virtual void save() //调用ISaveData接口的save()方法
   {
   //保存数据为Text格式
   FileStream fs = new FileStream("D:\\myweb2\\profile2.txt",FileMode.Create,FileAccess.Write);
   StreamWriter sw = new StreamWriter(fs);
   sw.WriteLine("Firstname:"+_firstname.ToString());
   sw.WriteLine("Lastname:"+_lastname.ToString());
   sw.WriteLine("Phone:"+_phonenumber.ToString());
   sw.Flush();
   sw.Close();
   fs.Close();
   }
  }

时间: 2024-09-21 08:50:15

给Asp.Net初学者的关于继承和多态性的例子(1)的相关文章

给Asp.Net初学者的关于继承和多态性的例子_实用技巧

本人学Asp.Net不久,用的是C#写代码,在学习C#中发现很多初学者对继承和多态性不是特别的了解,因此作了这个例子,希望对您有所帮助,例子很简单 页面文件TestProfileClass2.aspx<%@ Page Language="C#" ContentType="text/html" ResponseEncoding="gb2312" Src="profile2.cs" %><%@ Import Na

给Asp.Net初学者的关于继承和多态性的例子(2)

asp.net|初学|继承     public class ExtendedProfile:Profile 建立Profile子类ExtendedProfile,他可以继承Profile中的方法    {    protected string _address1; //子类ExtendedProfile的属性    protected string _address2;    protected string _city;    protected string _state;    pro

大家好,我是asp.net初学者,现在有一正则表达式看不懂,还请大家帮忙,谢谢大家了,以下是代码 &amp;amp;lt;asp:changepassword id=&amp;amp;quot;Change

问题描述 大家好,我是asp.net初学者,现在有一正则表达式看不懂,还请大家帮忙,谢谢大家了,以下是代码<asp:changepasswordid="ChangePassword1"runat="server"PasswordHintText="Pleaseenterapasswordatleast7characterslong,containinganumberandonespecialcharacter."NewPasswordReg

ASP.NET 配置文件层次结构和继承

asp.net|继承 您可以在整个应用程序目录中分发 ASP.NET 配置文件,以便以继承层次结构配置 ASP.NET 应用程序.使用此结构,可以在适当的目录级别实现应用程序所需级别的配置详细信息,而不影响较高目录级别中的配置设置. 配置结构 ASP.NET 配置文件称为 Web.config 文件,它们可以出现在 ASP.NET 应用程序的多个目录中.ASP.NET 配置层次结构具有下列特征: 使用应用于配置文件所在的目录及其所有子目录中的资源的配置文件. 允许您将配置数据放在将使它具有适当范

ASP.net 中的页面继承实现和通用页面的工厂模式的实现

asp.net|继承|页面 最近用.Net做web项目的时候遇到了一些问题,就是很多的页面的处理一样的,不一样的就是我们写的存储过程不同,为了考虑代码的重复利用和可维护性和可 扩展性,于是写了一个对于单据页面的工厂模式,采用界面的继承技术,因为我们写的ASP.net页面的是代码后置的,所以我们继承的时候就继承我们的后置的代码,也就是我们说的XXXX.aspx.cs文件.其实页面的继承和我们普通的类继承一样,只是ASP.net页面的界面是HTML和后置代码共同组成的,所以也有一些不同,好了先进开始

ASP.NET配置文件层次结构和继承

您可以在整个应用程序目录中分发 ASP.NET 配置文件,以便以继承层次结构配置 ASP.NET 应用程序.使用此结构,可以在适当的目录级别实现应用程序所需级别的配置详细信息,而不影响较高目录级别中的配置设置. 配置结构 ASP.NET 配置文件称为 Web.config 文件,它们可以出现在 ASP.NET 应用程序的多个目录中.ASP.NET 配置层次结构具有下列特征: 使用应用于配置文件所在的目录及其所有子目录中的资源的配置文件. 允许您将配置数据放在将使它具有适当范围(整台计算机.所有的

初学者对于java继承、多态,子类对象的内存分配的一些问题,百度了好多,但感觉没有系统的,在此提问,希望前辈们传到授业解惑

问题描述 由于是初学者,所以有些表述可能有误,都只是自己的一些理解.我是纯初学者,看过两个星期的C++,之前也学过C.感觉看C++的时候,更容易去理解C++中的面向对象技术的实现,但看JAVA的时候,可能隔着一层虚拟机,有些实现很难理解.第一个问题:我了解到一个对象里面,隐含了一个引用this,可以用this来特别地引用本对象的成员或者函数,然后还有一个super关键字,书上说这个关键字不是一个引用,但怎么看都感觉这个super是一个指向本对象的父类类型的引用.我想问这个super到底是什么,如

asp.net初学者:petshop4.0设计说明

asp.net|初学|设计 petshop4.0设计说明 一.项目名称及描述:(实现步骤为:4-3-6-5-2-1)  1.WEB=表示层 2.BLL=业务逻辑层  3.IDAL=数据访问层接口定义  4.Model=业务实体 5.DALFactory=数据层的抽象工厂(创建反射) 6.SQLServerDAL=SQLServer数据访问层 / OracleDAL=Oracle数据访问层 DBUtility 数据库访问组件基础类  二.项目引用关系  1.Web 引用 BLL. 2.BLL 引用

asp.net初学者求助,asp.net网页 登录失败问题 错误如下 请问是为什么呢?怎么解决呢

问题描述 "/"应用程序中的服务器错误.系统找不到指定的文件.说明:执行当前Web请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息.异常详细信息:System.ComponentModel.Win32Exception:系统找不到指定的文件.源错误:执行当前Web请求期间生成了未经处理的异常.可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息.堆栈跟踪:[Win32Exception(0x80004005):系统找不到指定