析構函數 和 構造函數 和 base使用

 class A // 基類First
    {
        ~A() // 析構函數
        {
            Console.WriteLine("~A()析構函數");
        }

        public A()
        {
            // 構造函數
            Console.WriteLine("A()構造函數");
        }
    }

    class B : A // B類從A類派生
    {
        ~B() // 析構函數
        {
            Console.WriteLine("~B()析構函數");
        }

        public B() // 構造函數
        {
            Console.WriteLine("B()構造函數");
        }
    }

    class C : B // C類從B類派生
    {
        ~C() // 析構函數
        {
            Console.WriteLine("~C()析構函數");
        }

        public C() // 構造函數
        {
            Console.WriteLine("C()構造函數");
        }
    }

 

析構函數不能被調用、由GC控制,構造函數就是和類名稱相同,並且不帶參數的函數。

 

 

public class AA
    {
        private string info;

        public AA(string info)
        {
            this.info = info;
            Console.WriteLine(this.info);
        }
    }

    public class BB : AA
    {
        //這個代碼必須有,不然編譯不通過
        public BB(string info) : base(info)
        {
        }
    }

BB bb = new BB("bbbb");

  

base關鍵字:由於程序在運行時,會執行父類的構造函數,而此時如果想要將參數傳給父類使用,即可以使用base。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章