【问题标题】:Is good idea to add parent reference or value into child class?将父引用或值添加到子类中是个好主意吗?
【发布时间】:2023-03-22 23:22:01
【问题描述】:

我的课程创建了很多其他课程。

使用引用而不是变量在父类上创建链接是个好主意吗?

我可以保持记忆使用这种风格还是没关系?

这是同一个(一个)类吗?因此,如果我更改父类中的值,所有其他类都可以看到新名称吗?

class item implements Iterator {
  private $name = 'Awesome name';
  private $data = Array();
  function __construct () {
    for ($i=0; $i<10; $i++) {
      $this->data[$i] = new type(&$this);
    }       
  }
  public function rewind() { reset($this->data); }
  public function current() { return current($this->data); }
  ...
}

class type {
  private $parent = false;
  function __construct ($a) {
     $this->parent =&$a;
  }
  function do () {
     echo $this->parent->name . "\n";
  }
}

$i = new item ();

foreach ($i as $t) {
   $t->do();
}

【问题讨论】:

    标签: php performance class memory


    【解决方案1】:

    使用引用而不是变量在父类上创建链接是个好主意吗?

    你认为这些是不同的意味着你还没有真正理解如何使用 PHP 进行面向对象编程。除非您仍在使用 PHP 4 进行编程,否则请丢掉 '&',因为它们在您的代码中没有做任何事情。

    那么如果我改变父类的值,所有其他类都能看到新名称吗?

    当你尝试的时候发生了什么?

    【讨论】:

    • 我认为没有'&'它会复制对象。
    • 是的,在本例中,名称已更改。
    • 我认为没有 '&' 它会复制对象。 - 我的错。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-18
    • 1970-01-01
    相关资源
    最近更新 更多