用户登录

__clone

PHP 里面有一个叫做 __clone 的魔术方法 ... 这会在对象被克隆的时候自动被调用 ... 如果你想在克隆对象的时候去做点事的话,可以把要做的事,放在这个 __clone 方法里面。

下面,我们在 Track 这个类里面去使用空上 __clone 方法 ... 这样如果有人克隆属于 Track 的类的对象的时候,就会去执行这个函数。 先输入 public function ... 然后输入两个下划线 ... clone .. 一般魔术方法都会使用两个下划线开头 ...

在这个函数里,可以去设计一下要做的事情 ... 这里我们只是简单的在 track_name 这个属性的值的后面,加上一个 副本 这两个字 ...

public function __clone() {
$this->track_name .= ' 副本';
}

这样,如果克隆了 Track 类的对象的时候,在不设置 track_name 这个属性的值的情况下,会在这个属性的值的后面加上 副本 这两个字。

注释掉这行设置 track_name 的代码 ...

//$magic_mix->track_name = 'Magic Mix';

回到浏览器 ....

你会看到,克隆以后的 magic_mix 这个对象的 track_name 属性的值的后面 ... 会加上 副本 这两个字。

克隆对象时要做的事 __clone()《 PHP 面向对象 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点