我们如何删除Dart中的对象?

mer*_*ert 9 dart

我想基本上删除我创建的对象.我们如何删除对象?

在这里检查了Object定义,但无法弄清楚这样做的方法.我也很好奇我们是否可以定义析构函数.

更新 问题是获得好的答案.但我想提请你注意我想要删除我的对象或调用析构函数的情况.假设我们想要使用您可以通过放置在其上的端口连接矩形来创建节奏.因此,我们的想法是拥有一个对象,该对象具有对矩形体的引用和两端的端口.实际上,该对象可能需要一些其他属性,如[bool] selected[bool] dragging[List<RectElement>] connectedSquares.例如,当用户选择矩形并命中退格时,我想确保矩形消失并且我的对象被正确删除.因此,这个用例可以更深入地了解这个问题.

lrn*_*lrn 10

您无需主动删除Dart中的对象.

Dart是一种垃圾收集语言,因此任何不包含任何引用的对象最终都将被运行时系统垃圾收集和释放.

因此,您所要做的就是清除引用该对象的任何变量.

垃圾收集实际上隐含在语言规范中.规范没有说存在垃圾收集(它甚至没有提到概念),但是语言和库的设计方式使得垃圾收集成为可能:程序无法找到对任何地方的引用的对象不能再影响程序的行为,因此垃圾收集器正在收集和删除它们是不可检测的.


Gün*_*uer 5

确保您不持有对该对象的引用,以便可以对其进行GC处理。

x = null;
Run Code Online (Sandbox Code Playgroud)