給Asp.Net初學者的關於繼承和多態性的例子(1)

來源:互聯網
上載者:User
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();
   }
  }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.