0
点赞
收藏
分享

微信扫一扫

第十三讲:属性&析构函数

深夜瞎琢磨 2022-03-13 阅读 66
c#

第十三讲:属性&析构函数

为什么需要属性?

C#的属性可以解决处理这些问题。

构造函数

  • 为什么需要构造函数?

  • 实例化对象到底干了神马?? 真的只是为了在内存中去开个房间那么简单?

  • 好吧,就算是真的,假设我希望在开房间的时候顺便做点神马,比如————买点零食,晚上饿了吃

  • 其实我是想说在实例化对象的时候顺便将一些要给对象的数据同步赋值上去而已。 在类里边直接进行,
    public + 类名(参数) {}


  public string Name
    { 
        get { return _name; }
        set 
        {
            if (value == null)
                _name = "啥子哦,想骗我";
            else
                _name = value;
            
        }
    }

  • 构造函数是在实例化对象时自动调用的函数
    ——必须与类名相同
    ——无返回值类型
    ——实例化对象的时候总是会执行构造函数
    ——如果没有明显申明,则c#提供一个默认的空构造函数。

关上身后的每一扇门

  • 做人要做无憾的人生?
  • 做事不能留尾巴。
  • 但是:前面我们总是在不断的申明对象,都没有回收对象(准确说我们在内存中制造垃圾)

析构函数是实现销毁一个类的实例的方法成员。

  • —析构函数不能有参数

  • —不能任何修饰符而且不能被调用。

  • —前缀‘~’以示区别

      ~Products()
      { 
          //要清理那些非托管的资源就写代码
      }
    

使用析构函数——注意事项

  1. 不能在结构中定义析构函数。只能对类使用析构函数。
  2. 一个类只能有一个析构函数。
  3. 无法调用析构函数。它们是被自动调用的。
  4. 析构函数既没有修饰符,也没有参数。
  5. 凡托管资源,c#均可自动回收,只有使用了非托管资源才需要专门使用析构函数来释放。

小结

  • 为什么需要属性?

  • 构造函数是做什么的?

  • 析构函数的作用

举报

相关推荐

0 条评论