給Asp.Net初學者的關於繼承和多態性的例子(2)
來源:互聯網
上載者:User
asp.net|初學|繼承 public class ExtendedProfile:Profile 建立Profile子類ExtendedProfile,他可以繼承Profile中的方法
{
protected string _address1; //子類ExtendedProfile的屬性
protected string _address2;
protected string _city;
protected string _state;
protected string _postal;
protected string _description;
public ExtendedProfile() //子類ExtendedProfile中屬性的初始值
{
_address1 = "清華大學";
_address2 = "清華大學物理實驗室";
_city = "北京";
_state = "北京";
_postal = "100024";
_description = "教授";
}
public override void setPhonenumber(string phonenumber) //繼承類Profile中的setPhonenumber()方法
{ //setPhonenumber()方法的重載
_phonenumber = phonenumber;
}
public string getAddress1() //子類ExtendedProfile中的方法getAddress1(),以下類推
{
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() //調用介面ISaveData()中的方法save(),save()方法的重載,由於多態性
{ //子類ExtendedProfile可以自訂並修改save()方法
string _document = "d:\\myweb2\\saidy.xml";
XmlTextWriter writer = null; //儲存為一個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());
}
}
}
}