Asp.Net的繼承和多態(tài)性實(shí)例講解_.Net教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
推薦:讓沒有安裝.NET Framwork的機(jī)器運(yùn)行.NET 程序如果我們要把自己的. NET 程序發(fā)布到目標(biāo)機(jī)器上,同時(shí)我們不確定該目標(biāo)機(jī)器是否已經(jīng)安裝了.NETFramework,那我們就需要自己設(shè)計(jì)一段unmanaged代碼,來判斷目標(biāo)機(jī)器是否安裝了.NETFramework,如果沒有,則運(yùn)行Dotnetfx.exe安裝.NETFramework,然后利用WindowsIns
許多學(xué)習(xí)Asp.Net的新人對(duì)Asp.Net繼承和多態(tài)性不是特別的了解,但其在編程中有重要作用,為了幫助大家學(xué)習(xí),我們作了這個(gè)例子,以實(shí)例來說明,代碼比較簡單。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>簡單的繼承、多態(tài)例子</h3></b><br><br> objectoutput:<br> <br> <divid="message"runat="server"/> </body> </html> |
usingSystem; usingSystem.IO; usingSystem.Xml; namespaceshai//名稱空間shai { interfaceISaveData//定義一個(gè)接口ISaveData,他作為Profile的基類被繼承,由于其有多態(tài)性的特點(diǎn),可以被 {//不同類調(diào)用其中的方法,并修改 voidsave(); } publicclassProfile:ISaveData//定義類Profile { protectedstring_firstname;//里面包含三個(gè)屬性,分別為_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()//調(diào)用ISaveData接口的save()方法 { //保存數(shù)據(jù)為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="清華大學(xué)"; _address2="清華大學(xué)物理實(shí)驗(yàn)室"; _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()//調(diào)用接口ISaveData()中的方法save(),save()方法的重載,由于多態(tài)性 {//子類ExtendedProfile可以自定義并修改save()方法 string_document="d:\\myweb2\\saidy.xml"; XmlTextWriterwriter=null;//保存為一個(gè)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實(shí)現(xiàn)網(wǎng)頁打印網(wǎng)頁打印是我們經(jīng)常要遇到的需求,下面的方法可以較好的解決這個(gè)問題。 循環(huán)打印div中的內(nèi)容: inputtype=buttononClick=j avascript :printpage(’’myDiv’’);value=打印 流程: 從數(shù)據(jù)庫中取出記錄-》放入 aspx 頁面的一個(gè)Div中打印 例子: 在asp
相關(guān).Net教程:
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實(shí)例(可帶附件)
- js實(shí)現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實(shí)現(xiàn)
- Asp.Net 無刷新文件上傳并顯示進(jìn)度條的實(shí)現(xiàn)方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報(bào)表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(連接字符串的配置及獲取)
- asp.net頁面?zhèn)髦禍y試實(shí)例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲(chǔ)過程實(shí)現(xiàn)分頁示例代碼
- 相關(guān)鏈接:
- 教程說明:
.Net教程-Asp.Net的繼承和多態(tài)性實(shí)例講解。