国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

Asp.Net的繼承和多態性實例講解_.Net教程

2024-07-10 12:52:05
字體:
來源:轉載
供稿:網友

推薦:讓沒有安裝.NET Framwork的機器運行.NET 程序
如果我們要把自己的. NET 程序發布到目標機器上,同時我們不確定該目標機器是否已經安裝了.NETFramework,那我們就需要自己設計一段unmanaged代碼,來判斷目標機器是否安裝了.NETFramework,如果沒有,則運行Dotnetfx.exe安裝.NETFramework,然后利用WindowsIns

許多學習Asp.Net的新人對Asp.Net繼承和多態性不是特別的了解,但其在編程中有重要作用,為了幫助大家學習,我們作了這個例子,以實例來說明,代碼比較簡單。

TestProfileClass2.aspx 頁面文件
<%@PageLanguage="C#"ContentType="text/html"ResponseEncoding="gb2312"Src="profile2.cs"%>
<%@ImportNamespace="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>
<scriptlanguage="c#"runat="server">
publicvoidPage_Load(Objectsender,EventArgse)
{
Profileprofile=newProfile();
message.InnerHtml+="<u>ProfileClass</u><br>";
message.InnerHtml+="Firstname:"+profile.getFirstname()+"<br>";
message.InnerHtml+="Lastname:"+profile.getLastname()+"<br>";
message.InnerHtml+="Phone:"+profile.getPhonenumber()+"<br><br>";

profile.save();

ExtendedProfileextendedprofile=newExtendedProfile();
message.InnerHtml+="<u>ExtendedProfileClass</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>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
<title></title>
</head>
<bodystyle="font:Arial,Helvetica,sans-serif">
<b><h3>簡單的繼承、多態例子</h3></b><br><br>
objectoutput:<br>
<br>
<divid="message"runat="server"/>
</body>
</html> 
profile2.cs  類定義文件
usingSystem;
usingSystem.IO;
usingSystem.Xml;
namespaceshai//名稱空間shai
{
interfaceISaveData//定義一個接口ISaveData,他作為Profile的基類被繼承,由于其有多態性的特點,可以被
{//不同類調用其中的方法,并修改
voidsave();
}

publicclassProfile:ISaveData//定義類Profile
{
protectedstring_firstname;//里面包含三個屬性,分別為_firstname、_lastname、phonenumber
protectedstring_lastname;
protectedstring_phonenumber;

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

publicstringgetPhonenumber()//Profile類中的方法getPhonenumber()
{
return_phonenumber;
}
publicvirtualvoidsetPhonenumber(stringphonenumber)
{
_phonenumber=phonenumber;
}

publicstringgetFirstname()//Profile類中的方法getFirstname()
{
return_firstname;
}
publicvoidsetFirstname(stringfirstname)
{
_firstname=firstname;
}

publicstringgetLastname()//Profile類中的方法getLastname()
{
return_lastname;
}
publicvoidsetLastname(stringlastname)
{
_lastname=lastname;
}

publicvirtualvoidsave()//調用ISaveData接口的save()方法
{
//保存數據為Text格式
FileStreamfs=newFileStream("D://myweb2//profile2.txt",FileMode.Create,FileAccess.Write);
StreamWritersw=newStreamWriter(fs);
sw.WriteLine("Firstname:"+_firstname.ToString());
sw.WriteLine("Lastname:"+_lastname.ToString());
sw.WriteLine("Phone:"+_phonenumber.ToString());
sw.Flush();
sw.Close();
fs.Close();
}
}

publicclassExtendedProfile:Profile建立Profile子類ExtendedProfile,他可以繼承Profile中的方法
{
protectedstring_address1;//子類ExtendedProfile的屬性
protectedstring_address2;
protectedstring_city;
protectedstring_state;
protectedstring_postal;
protectedstring_description;

publicExtendedProfile()//子類ExtendedProfile中屬性的初始值
{
_address1="清華大學";
_address2="清華大學物理實驗室";
_city="北京";
_state="北京";
_postal="100024";
_description="教授";
}

publicoverridevoidsetPhonenumber(stringphonenumber)//繼承類Profile中的setPhonenumber()方法
{//setPhonenumber()方法的重載
_phonenumber=phonenumber;
}

publicstringgetAddress1()//子類ExtendedProfile中的方法getAddress1(),以下類推
{
return_address1;
}
publicstringgetAddress2()
{
return_address2;
}
publicvoidsetAddress(stringaddress1,stringaddress2)
{
_address1=address1;
_address2=address2;
}

publicstringgetCity()
{
return_city;
}
publicvoidsetCity(stringcity)
{
_city=city;
}

publicstringgetState()
{
return_state;
}
publicvoidsetState(stringstate)
{
_state=state;
}

publicstringgetPostal()
{
return_postal;
}
publicvoidsetPostal(stringpostal)
{
_postal=postal;
}

publicstringgetDescription()
{
return_description;
}
publicvoidsetDescription(stringdescription)
{
_description=description;
}

publicoverridevoidsave()//調用接口ISaveData()中的方法save(),save()方法的重載,由于多態性
{//子類ExtendedProfile可以自定義并修改save()方法
string_document="d://myweb2//saidy.xml";
XmlTextWriterwriter=null;//保存為一個Xml文件
try
{
writer=newXmlTextWriter(_document,null);
writer.Formatting=Formatting.Indented;
writer.WriteStartDocument(false);
writer.WriteDocType("Profile",null,null,null);//表示<!DOCTYPEProfile>
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(Exceptionee)
{
Console.WriteLine("Exception:{0}",ee.ToString());
}
}
}
}

分享:asp.net+js實現網頁打印
網頁打印是我們經常要遇到的需求,下面的方法可以較好的解決這個問題。 循環打印div中的內容: inputtype=buttononClick=j avascript :printpage(’’myDiv’’);value=打印 流程: 從數據庫中取出記錄-》放入 aspx 頁面的一個Div中打印 例子: 在asp

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 周宁县| 颍上县| 苏州市| 米易县| 东城区| 丰顺县| 柞水县| 叙永县| 嘉禾县| 高雄县| 阿城市| 宝清县| 镇江市| 乐山市| 海城市| 嫩江县| 元谋县| 淳安县| 金门县| 寻甸| 雅安市| 成都市| 巴林左旗| 安丘市| 都匀市| 麻城市| 堆龙德庆县| 民乐县| 游戏| 巍山| 汝城县| 长春市| 环江| 同仁县| 弥渡县| 红桥区| 沛县| 吕梁市| 扬中市| 辽阳市| 辽源市|