3.【C#】构造和对象初始化器的基本使用,补充对象摧毁了解

构造

  • 构造方法有什么作用?
    在这里插入图片描述

  • 构造方法的类型
    1.无参数构造

        public Course()
        {
            CourseId = 10001;
            CourseName = ".NET全栈开发、上位机开发";
            Type = ".NET系列";
            //在这里还可以编写读取相关文件或者从其他数据源读取的方法或逻辑...

        }

2.有参数构造

        public Course(int courseId, string courseName)
        {
            this.CourseId = courseId;
            this.CourseName = courseName;
            //   this.CourseName = this.courseName;  //也就是说成员变量和局部变量同名的时候,一般是就近原则取变量
            //如果我们需要舍近求远,则必须添加this
        }
        public Course(int courseId, string courseName, string type)
            : this(courseId, courseName) //在构造方法之间调用,代码复用计数
        {
            //this.CourseId = courseId;          //跟上方的代码重复
            //this.CourseName = courseName;
            this.Type = type;
        }

对象初始化器的使用

在这里插入图片描述

            Course course1 = new Course()
            {
                CourseId = 2000,
                CourseName = "C#上位机课程"
            };

相较之前的几种方法:

            Course course4 = new Course();
            course4.CourseId = 100005;
            course4.CourseName = "新课程";

Course course3 = new Course(666,"china","牛逼");
//构造方法

构造方法和对象初始化器总结
在这里插入图片描述
在这里插入图片描述

  • NOTES
    1.计算机在构建对象的时候,会初始化所有的成员变量,然后调用构造方法。
    2.如果同一个对象创建很多次,计算机的内存不会越用越大,会被定时清理掉。(这也是c#和c++的区别,c++是随时创建但要随时清理,不然会造成内存泄露,程序崩溃)

对象的销毁

在这里插入图片描述

关于析构函数

在c++中,可以使用delete,然后跳出对应的析构函数进行清理

        //析构函数
        ~Course()
        {
            Console.WriteLine("对象被释放,析构函数被调用...");
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值