vs 不能自动 析构函数_C#——封装:构造函数和析构函数

上篇回顾

成员方法

描述行为

类中申明

任意数量

返回值和参数

根据需求决定

今天我们将来学习

两个特殊的

成员函数(方法)

构造函数

析构函数

构造函数

默认存在一个无参构造函数

ea314bbb514086f94a546bb4e92659d9.png

如何自己实现一个构造函数

890ab8d80d374ef17709a6ed7003c7b7.png

构造函数一般是用来初始化信息的

ea71ab73330fac74b1fbffda2df14932.png

构造函数的访问修饰符一般public

如果是private外部就无法new对象了

f0fdb87071647db5a28aa9f500841dfd.png

ffc2a04ff27bd4f9001adac9c7ebaa80.png

构造函数可以被重载

6c0337f9efd2121c22bec60346110bb2.png

939e276f3489d89a4eeedbcdefae240e.png

不手动实现无参构造函数

而实现有参构造函数

就会失去默认的无参构造

c6c9b7edff8a01c43c2f517131fab07b.png

edb1d796be4b143e3c55695160279e57.png

可以通过this语法糖

重用构造函数代码

c4a046b6645710d3d95023a5c55fcd6c.png

当调用构造函数2时,会把传入的age传给构造函数1进行初始化,再回过头来执行构造函数2中的内容。

f3fa8812e0e7b4a3dffe016ade82fd26.png

通过这种特殊的语法,当存在多种构造重载时,可以提升代码的复用率。

析构函数

强调

在Unity开发中析构函数

几乎不会使用

只做了解

析构函数什么时候调用

析构函数是当引用对象的内存被回收时,会调用该函数。对于需要手动管理内存的语言(比如C++),需要在析构函数中做一些内存回收处理。但是C#中存在垃圾自动回收机制(之后会讲),所以我们几乎不会怎么使用析构函数。除非你想在某一个对象被垃圾回收时,做一些特殊处理。

析构函数如何写

d8bb573b11f9ad84fd83e592cef9f224.png

总结

构造函数

实例化对象时调用的函数

主要用来初始化成员变量

不写返回值

函数名和类名相同

访问修饰符根据需求而定

一般为public

可以重载构造函数

可以用this语法重用代码

可以用this区分同名参数和成员变量

有参构造会顶掉默认的无参构造

如想保留无参构造需重载出来

析构函数

当类对象被垃圾回收时调用

主要用来回收资源或者特殊处理

Unity中几乎不用

不写返回值

不写修饰符

不能有参数

函数名和类名相同

前面加~

b6988b24d223832fab6b7e5e1c772102.gif

关注

唐老湿

获取更多干货内容

022612a1b740dacb713be4c821d45fcf.gif

14681786853b4e79b0b324ef90db92c0.png

end

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值