最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

給Asp.Net初學(xué)者的關(guān)于繼承和多態(tài)性的例子

 更新時(shí)間:2006年09月28日 00:00:00   作者:  

本人學(xué)Asp.Net不久,用的是C#寫(xiě)代碼,在學(xué)習(xí)C#中發(fā)現(xiàn)很多初學(xué)者對(duì)繼承和多態(tài)性不是特別的了解,因此作了這個(gè)例子,希望對(duì)您有所幫助,例子很簡(jiǎn)單

頁(yè)面文件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>簡(jiǎn)單的繼承/多態(tài)例子</h3></b><br><br>
object output:<br>
<br>
<div id="message" runat="server" />
</body>
</html>


類(lèi)定義文件profile2.cs
using System;
using System.IO;
using System.Xml;
namespace shai     //名稱空間shai
{
  interface ISaveData    //定義一個(gè)接口ISaveData,他作為Profile的基類(lèi)被繼承,由于其有多態(tài)性的特點(diǎn),可以被
  {                                //不同類(lèi)調(diào)用其中的方法,并修改
    void save();
  }

  public class Profile:ISaveData     //定義類(lèi)Profile
  {
    protected string _firstname;       //里面包含三個(gè)屬性,分別為_(kāi)firstname、_lastname、phonenumber
    protected string _lastname;
    protected string _phonenumber;

 public Profile()                            //為屬性定義其中的初始值
 {
   _firstname = "Saidy";
   _lastname = "Chen";
   _phonenumber = "(010)88716990";
 }

 public string getPhonenumber()           //Profile類(lèi)中的方法getPhonenumber()
 {
   return _phonenumber;
 }
 public virtual void setPhonenumber(string phonenumber)
 {
   _phonenumber = phonenumber;
 }

 public string getFirstname()                 //Profile類(lèi)中的方法getFirstname()
 {
   return _firstname;
 }
 public void setFirstname(string firstname)
 {
   _firstname = firstname;
 }

 public string getLastname()                  //Profile類(lèi)中的方法getLastname()
 {
   return _lastname;
 }
 public void setLastname(string lastname)
 {
   _lastname = lastname;
 }

 public virtual void save()            //調(diào)用ISaveData接口的save()方法
 {
   //保存數(shù)據(jù)為T(mén)ext格式
   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();
  }
}

  public class ExtendedProfile:Profile        建立Profile子類(lèi)ExtendedProfile,他可以繼承Profile中的方法
  {
    protected string _address1;                  //子類(lèi)ExtendedProfile的屬性
    protected string _address2;
    protected string _city;
    protected string _state;
    protected string _postal;
    protected string _description;

 public ExtendedProfile()                      //子類(lèi)ExtendedProfile中屬性的初始值
 {
   _address1 = "清華大學(xué)";
   _address2 = "清華大學(xué)物理實(shí)驗(yàn)室";
   _city = "北京";
   _state = "北京";
   _postal = "100024";
   _description = "教授";
 }

 public override void setPhonenumber(string phonenumber)           //繼承類(lèi)Profile中的setPhonenumber()方法
 {                                                                                                 //setPhonenumber()方法的重載
   _phonenumber = phonenumber;
 }

 public string getAddress1()          //子類(lèi)ExtendedProfile中的方法getAddress1(),以下類(lèi)推
 {
   return _address1;
 }
 public string getAddress2()
 {
   return _address2;
 }
 public void setAddress(string address1,string address2)
 {
   _address1 = address1;
   _address2 = address2;
 }

 public string getCity()
 {
   return _city;
 }
 public void setCity(string city)
 {
   _city = city;
 }

 public string getState()
 {
   return _state;
 }
 public void setState(string state)
 {
   _state = state;
 }

 public string getPostal()
 {
   return _postal;
 }
 public void setPostal(string postal)
 {
   _postal = postal;
 }

 public string getDescription()
 {
   return _description;
 }
 public void setDescription(string description)
 {
   _description = description;
 }

 public override void save()                //調(diào)用接口ISaveData()中的方法save(),save()方法的重載,由于多態(tài)性
 {                                                       //子類(lèi)ExtendedProfile可以自定義并修改save()方法
   string _document = "d:\\myweb2\\saidy.xml";
   XmlTextWriter writer = null;           //保存為一個(gè)Xml文件
   try
   {
    writer = new XmlTextWriter(_document,null);
    writer.Formatting = Formatting.Indented;
    writer.WriteStartDocument(false);
    writer.WriteDocType("Profile",null,null,null);            //表示<!DOCTYPE Profile>
    writer.WriteStartElement("Profile");                         //生成根元素  
    writer.WriteElementString("firstname",_firstname);   //生成子元素  <firstname>_firstname</firstname>
    writer.WriteElementString("lastname",_lastname);
    writer.WriteElementString("phonenumber",_phonenumber);
    writer.WriteElementString("address1",_address1);
    writer.WriteElementString("address2",_address2);
    writer.WriteElementString("city",_city);
    writer.WriteElementString("state",_state);
    writer.WriteElementString("postal",_postal);
  writer.WriteEndElement();
  writer.Flush();
  writer.Close();
   }
   catch(Exception ee)
   {
     Console.WriteLine("Exception:{0}",ee.ToString());
   }
 }
}
}

相關(guān)文章

  • c#將Excel數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫(kù)的實(shí)現(xiàn)代碼

    c#將Excel數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫(kù)的實(shí)現(xiàn)代碼

    這篇文章主要介紹了c#將Excel數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫(kù)的實(shí)現(xiàn)代碼,有需要的朋友可以參考一下
    2013-12-12
  • DataGridView使用自定義控件實(shí)現(xiàn)簡(jiǎn)單分頁(yè)功能(推薦)

    DataGridView使用自定義控件實(shí)現(xiàn)簡(jiǎn)單分頁(yè)功能(推薦)

    這篇文章主要介紹了DataGridView使用自定義控件實(shí)現(xiàn)簡(jiǎn)單分頁(yè)功能,數(shù)據(jù)庫(kù)使用的是sqlserver,本文通過(guò)通過(guò)實(shí)例代碼給大家講解的非常詳細(xì),需要的朋友參考下吧
    2019-11-11
  • .Net使用日志框架NLog

    .Net使用日志框架NLog

    這篇文章介紹了.Net使用日志框架NLog的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • Asp.net MVC下使用Bundle合并、壓縮js與css文件詳解

    Asp.net MVC下使用Bundle合并、壓縮js與css文件詳解

    在web優(yōu)化中有一種手段,壓縮js,css文件,減少文件大小,合并js,css文件減少請(qǐng)求次數(shù)。asp.net mvc中為我們提供一種使用c#代碼壓縮合并js和css這類(lèi)靜態(tài)文件的方法。這篇文章主要介紹了在Asp.net MVC下使用Bundle合并、壓縮js與css文件的方法,需要的朋友可以參考下。
    2017-03-03
  • ASP.NET簡(jiǎn)單獲取服務(wù)端和客戶端計(jì)算機(jī)名稱的方法

    ASP.NET簡(jiǎn)單獲取服務(wù)端和客戶端計(jì)算機(jī)名稱的方法

    這篇文章主要介紹了ASP.NET簡(jiǎn)單獲取服務(wù)端和客戶端計(jì)算機(jī)名稱的方法,涉及asp.net獲取服務(wù)器端計(jì)算機(jī)名以及根據(jù)IP獲取客戶端主機(jī)名的相關(guān)技巧,需要的朋友可以參考下
    2016-08-08
  • ASP.NET輸出PNG圖片時(shí)出現(xiàn)GDI+一般性錯(cuò)誤的解決方法

    ASP.NET輸出PNG圖片時(shí)出現(xiàn)GDI+一般性錯(cuò)誤的解決方法

    偶原來(lái)的用ASP.NET生成驗(yàn)證碼圖片時(shí)用的是JPG格式,今天想把它改成PNG格式的,結(jié)果就出現(xiàn)GDI+一般性錯(cuò)誤,查了N久資料,才發(fā)現(xiàn)解決的辦法,對(duì)分享此解決辦法的網(wǎng)友深表感謝
    2009-01-01
  • ASP.NET Internet安全Forms身份驗(yàn)證方法

    ASP.NET Internet安全Forms身份驗(yàn)證方法

    安全性是 ASP.NET Web 應(yīng)用程序中一個(gè)非常重要的方面,它涉及內(nèi)容非常廣泛,不能在一篇文章內(nèi)說(shuō)明所有的安全規(guī)范,本文講述如何利用IIS以及Forms 身份驗(yàn)證構(gòu)建安全的 ASP.NET 應(yīng)用程序,它是目前被使用最多最廣的驗(yàn)證/授權(quán)方式.
    2009-12-12
  • ASP.NET WebAPI導(dǎo)入CSV

    ASP.NET WebAPI導(dǎo)入CSV

    這篇文章介紹了ASP.NET WebAPI導(dǎo)入CSV的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • ASP.NET頁(yè)面優(yōu)化 性能提升8倍的方法

    ASP.NET頁(yè)面優(yōu)化 性能提升8倍的方法

    今天與大家分享:一種優(yōu)化頁(yè)面執(zhí)行速度的方法。采用這個(gè)方法,可以使用頁(yè)面的執(zhí)行速度獲得【8倍】的提升效果
    2012-03-03
  • Visual Studio 2015安裝步驟詳解

    Visual Studio 2015安裝步驟詳解

    這篇文章主要為大家詳細(xì)介紹了Visual Studio 2015安裝步驟,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12

最新評(píng)論

无锡市| 西宁市| 西峡县| 山东| 开鲁县| 临安市| 浦江县| 定远县| 涟源市| 南开区| 灵川县| 永安市| 云阳县| 集贤县| 武冈市| 读书| 固镇县| 松桃| 婺源县| 临颍县| 临潭县| 古交市| 新绛县| 邵武市| 甘孜县| 阿城市| 庄浪县| 互助| 红桥区| 晴隆县| 安义县| 屯昌县| 灵山县| 东兰县| 额尔古纳市| 靖西县| 莫力| 深水埗区| 和龙市| 翼城县| 韶山市|