C#中的繼承(二)

周江霄發表於2014-02-23

        上一篇博文簡單的介紹了C#中的繼承,這一篇將主要介紹如何用base關鍵字在派生類中訪問基類成員和父類成員的方法和屬性。

        一、定義一個類Person:

       

public class Person
    {
        protected string name;
        protected string ID;
        public Person()
        {
            name = "zhouzhou";
            ID = "130552199301152555";
        }

        public virtual void GetInfo()
        {
            Console.WriteLine("姓名:{0}", name);
            Console.WriteLine("身份證號:{0}", ID);
        }
    }


        二、建立一個子類:

       

public class Student : Person     //宣告student是person的子類
    {
        private string StudentNo = "123456";
        public Student():base() //用base關鍵字呼叫基類的建構函式
        {
            Console.WriteLine("我的名字叫週週。");
        }
        public override void GetInfo()
        {
            base.GetInfo();     //用base關鍵字呼叫父類的方法
            Console.WriteLine("學號:{0}", StudentNo);
        }

    }


        三、將student類例項化。

       

static void Main(string[] args)
        {
            Student zhouzhou = new Student();
            zhouzhou.GetInfo();
        }


        這裡主要想說一下怎樣在派生類中重寫基類的方法,首先要在基類中宣告的方法前virtual關鍵字,然後在派生類中的方法前加上override關鍵字即可。如果派生類中的成員變數和基類的成員變數名稱相同訪問的時候要加上關鍵字new。而訪問重寫的方法就要用到關鍵字base關鍵字。

        

相關文章