PHP5 definiert eine spezielle Methode namens „clone()“, eine Methode, die automatisch aufgerufen wird, wenn ein Objekt geklont wird. Verwenden Sie die Methode „clone()“. erstellt ein Objekt mit denselben Attributen und Methoden wie das Originalobjekt. Wenn Sie den Inhalt des Originalobjekts nach dem Klonen ändern möchten, müssen Sie die Originalattribute und -methoden neu schreiben In der Methode clone() kann die Methode „clone()“ keine Parameter haben, sie enthält automatisch zwei Zeiger, $this und $that, $this zeigt auf die Kopie und $that zeigt auf das Original, das konkrete Beispiel lautet wie folgt folgt:
<?php class Person { // 下面是人的成员属性 var $name; // 人的名字 var $sex; // 人的性别 var $age; // 人的年龄 // 定义一个 构造方法 参数为属性姓名$name、性别$sex 和年龄$age 进行赋值 // function construct($name="", $sex="",$age="") function construct($name, $sex, $age) { $this->name = $name; $this->sex = $sex; $this->age = $age; } // 这个人可以说话的方法, 说出自己的属性 function say() { echo "我的名字叫:" . $this->name . " 性别:" . $this->sex . " 我的年龄是:" . $this ->age . "<br>"; } // 对象克隆时自动调用的方法, 如果想在克隆后改变原对象的内容,需要在clone()中重写原来的属性和方法。 function clone() { // $this 指的复本p2, 而$that 是指向原本p1,这样就在本方法里,改变了复本的属性。 $this->name = "我是复制的张三$that->name"; // $this->age = 30; } } $p1 = new Person ( "张三", "男", 20 ); $p2 = clone $p1; $p1->say (); $p2->say (); ?>
Das Ergebnis nach erfolgreicher Ausführung dieses PHP-Programms ist wie folgt:
Mein Name ist: Zhang San. Geschlecht: Männlich. Ich. Mein Alter ist: 20.
Mein Name ist: Ich bin eine Kopie von Zhang San. Geschlecht: Männlich. Mein Alter ist: 20.
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Anwendungsbeispiele des $this-Zeigers in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!