gpt4 book ai didi

actionscript-3 - 初始化函数的目的

转载 作者:行者123 更新时间:2023-12-02 08:55:58 25 4
gpt4 key购买 nike

我经常看到构造函数只调用 init() 函数。如果您可以将 init() 函数的内容放入构造函数中,为什么还要使用 init() 函数呢?

最佳答案

每个实例仅调用对象的构造函数一次,而“init”函数可能会调用多次。考虑以下代码:

public class Foo
{
private var initialized:Boolean = false;

public function Foo(id:String = null)
{
_id = id;

if (id)
init();
}

private var _id:String = null;
public function get id():String
{
return _id;
}
public function set id(value:String):void
{
if (_id != value) {
_id = value;

init();
}
}

private function init():void
{
if (initialized)
return;

if (!id)
return;

initialized = true;

// do initialization here
}
}

基本上,对象初始化过程所需的所有信息在构造函数运行时可能不可用,并且可能在稍后的时间点可用(在上面的示例中,当设置 id 属性时)。所以有一个单独的 init() 是有意义的有时。

关于actionscript-3 - 初始化函数的目的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4863706/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com