析构函数 和 构造函数 和 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。

 

posted @ 2023-01-04 17:57  liskov_design  阅读(25)  评论(0)    收藏  举报