通過base關鍵字訪問基類的成員:

1.調用基類上已被其他方法重寫的方法。
2.指定創建派生類實例時應調用的基類構造函數。
3.基類訪問只能在構造函數、實例方法或實例屬性訪問器中進行。
4.從靜態方法中使用 base 關鍵字是錯誤的。

下面程序中基類 Person 和派生類 Employee 都有一個名為 Getinfo 的方法。
通過使用 base 關鍵字,可以從派生類中調用基類上的 Getinfo 方法。

注意:override 宣告不能變更 virtual 方法的存取範圍。
override 方法和 virtual 方法都必須有相同的存取層級修飾詞。

public class Person
{
    protected string ssn = "111-222-333-444";
    protected string name = "張三";
    protected string test = "kk";
    
    //一個可被複寫的虛方法
    public virtual void GetInfo()
    {
        HttpContext.Current.Response.Write(" 姓名:" + name);
        HttpContext.Current.Response.Write(" 编號:" + ssn);
    }    
}

class Employee : Person
{
    public string id = "ABC567EFG23267";
    
    public override void GetInfo()
    {        
        base.GetInfo();

        HttpContext.Current.Response.Write(" 成員ID:"+id);
        
        //也可以呼叫父類別成員
        HttpContext.Current.Response.Write(",test是"+base.test);
    }   
}

public partial class _6_繼承_1_base用法 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Employee E = new Employee();
        E.GetInfo();       
    }
}

/*輸出 姓名:張三 编號:111-222-333-444 成員ID:ABC567EFG23267 test是kk*/

參考來源:
http://www.blueshop.com.tw/board/show.asp?subcde=BRD2008071811002977P&fumcde=FUM20050124192253INM
http://msdn.microsoft.com/zh-tw/library/hfw7t1ce(v=vs.120).aspx
http://big5.webasp.net/article/13/12730.htm
http://big5.webasp.net/article/13/12731.htm

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 小豆干 的頭像
    小豆干

    小豆干就是我唷

    小豆干 發表在 痞客邦 留言(0) 人氣()