zoukankan      html  css  js  c++  java
  • 构造函数和析构函数

    析构函数 --- 当进行垃圾回收时,就执行析构函数中的代码,释放资源

    namespace ConsoleApplication1
    {
        class MyClass
        {
            public MyClass()
            {
                //默认的构造函数
            }
    
            public MyClass(int myint)
            {
                //非默认的构造函数
            }
    
            ~MyClass()
            {
                //析构函数
            }
        }
    
        class Car
        {
            private string description;
            private uint nWheels;
            public Car(string description, uint nWheels)
            {
                this.description = description;
                this.nWheels = nWheels;
            }
    
            public Car(string description) : this(description, 4)
            {
                //构造函数初始化器 --- this关键字仅调用参数最匹配的那个构造函数, 构造函数初始化器在构造函数之前执行
            }
        }
    }

    --------------------------------------------------------
    构造函数

    共同点:
    都是实例化对象,初始化数据的
    默认构造是说所有的类都从祖先object那继承了空参的构造方法,你不写与写空参构造都存在,而有参数的构造一般是自己写的,写就有不写就没有,它的作用和空参的一样,只是它里面可以有参数,给你个例子来说明吧
    有一个类Monitor它有属性String height;String width
    public Monitor(){}
    public Monitor(String height,String width){}
    有一个空参的一个有参的构造的方法
    在main方法里我做初始化动作
    Monitor monitor=new Monitor();
    这个构造只是把显示器这个对象创造出来了,它的属性就没有值,也可以再手动给它赋上值
    如:monitor.height=100;
       monitor.width=200;
    用有参的就不一样了,少很多事
    Monitor monitor2=new Monitor("100","200");
    在这里我只要把想放进去的参数直接放进去就能给我的属性赋上值,是不是省了很多事?
    这就是它的优势!
    回答完结!

  • 相关阅读:
    JS中的getter与setter
    Node.js中exports与module.exports的区别
    JS中的匿名函数自执行、函数声明与函数表达式
    JS实现千分位
    JS中的new操作符原理解析
    JS中null与undefined的区别
    JavaScript中callee与caller,apply与call解析
    解决vue路由与锚点冲突
    jQuery中deferred的对象使用
    Vue的生命周期
  • 原文地址:https://www.cnblogs.com/chrisghb8812/p/6089379.html
Copyright © 2011-2022 走看看