为什么我可以在PHP的深层克隆类中访问私有属性?

时间:2018-06-23 19:52:04

标签: php oop clone deep-copy private-members

对于我正在做的事情实际上还不错,但是我想知道如何访问深度克隆的from collections import defaultdict d = defaultdict(dict) for t in df.itertuples(): d[t.ColB][t.ColA] = t.ColC d = dict(d) d {'t': {'a1': 1, 'a2': 2}, 'd': {'a3': 3, 'a4': 4}} 的私有属性。仅仅是因为我还在同一个班上吗?

$this

根据我对深度克隆的了解,我正在内存中创建一个完全独立的对象或“条目”,因此class Handler { /** private property **/ private $stuff; /** deep clone **/ public function __clone() { $this->stuff = clone $this->stuff; } /** able to access private property **/ public function handle() { $handler = clone $this; var_dump($handler->stuff); } } 及其$handler不在内存中的同一位置被引用。即使$stuff是私有的,我仍然从stuff得到输出。

我在.querySelector第77行中发现了这个概念。

0 个答案:

没有答案