gpt4 book ai didi

php - 对象方法创建其类的实例

转载 作者:可可西里 更新时间:2023-10-31 22:45:55 24 4
gpt4 key购买 nike

我想问一下让一个类创建自己的实例是否是一种好习惯,例如我有一个类:

class MyClass {
private $data = "";
private $children = array();

public function add() {
$x = new MyClass();
// do something
// $x->some_method('');
$this->children[] = $x;
}

public function children() {
return $this->children;
}
}

这样我就可以使用一些 Tree 功能,但是这样可以吗,还是我必须做一些不同的事情?

例如创建父类A,子类B,在类A中使用多维数组存储子类?

也许有人可以建议另一种方法来做到这一点?

如果有人对此有经验,他能否提供他注意到的利弊。

最佳答案

Is it good practice to make a class create instances of self?

这取决于您为什么这样做。

如果您要让该类创建其自身的一个实例,因为您将其用作单例,那么您可能会与一些人就单例设计模式大体上陷入困境。

另一方面,我觉得以工厂设计模式为目的的自实例化非常精妙。我确实建议针对特定情况这样做。

关于php - 对象方法创建其类的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11438940/

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