Heim >Backend-Entwicklung >PHP-Tutorial >Objekt in PHP klonen

Objekt in PHP klonen

WBOY
WBOYOriginal
2016-07-30 13:30:371275Durchsuche

Manchmal müssen wir zwei oder mehr identische Objekte in einem Projekt verwenden. Wenn Sie das Schlüsselwort „new“ verwenden, um das Objekt neu zu erstellen, weisen Sie dieselben Attribute zu, was auch umständlicher ist Daher ist es sehr wichtig, ein identisches Objekt vollständig von einem Objekt zu klonen, und nach dem Klonen stören sich die beiden Objekte nicht gegenseitig.

In PHP4 verwenden wir das Schlüsselwort „clone“, um Objekte zu klonen

01 <?

02classPerson

03{

04 //下面是人的成员属性

05 var$name; //人的名子

06 var$sex; //人的性别

07 var$age; //人的年龄

08

09 //定义一个构造方法参数为属性姓名$name、性别$sex和年龄$age进行赋&#20540;

10 function__construct($name= "", $sex= "", $age= "") {

11 $this->name=$name;

12         $this->sex=$sex;

13         $this->age=$age;

14     }

15  

16     //这个人可以说话的方法,说出自己的属性

17     functionsay() {

18         echo"我的名子叫:". $this->name . " 性别:". $this->sex . " 我的年龄是:". $this->age . "<br>";

19     }

20 }

21  

22 $p1= newPerson("张三", "男", 20);

23  

24 //使用“clone”克隆新对象p2,和p1对象具有相同的属性和方法。

25 $p2=clone $p1;

26 $p2->say();

27 ?>

PHP4 definiert eine spezielle Methode namens „__clone()“, die beim Klonen eines Objekts verwendet wird Eine automatisch aufgerufene Methode erstellt mithilfe der Methode „__clone()“ 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 neu schreiben Methoden in __clone(). Methode, die Methode „__clone()“ kann keine Parameter haben, sie enthält automatisch zwei Zeiger, $this und $that, $this zeigt auf die Kopie und $that zeigt auf das Original; >

01 <?

02classPerson

03{

04 //下面是人的成员属性

05 var$name; //人的名子

06 var$sex; //人的性别

07 var$age; //人的年龄

08

09 //定义一个构造方法参数为属性姓名$name、性别$sex和年龄$age进行赋&#20540;

10 function__construct($name= "", $sex= "", $age= "") {

11 $this->name=$name;

12         $this->sex=$sex;

13         $this->age=$age;

14     }

15  

16     //这个人可以说话的方法, 说出自己的属性

17     functionsay() {

18         echo"我的名子叫:". $this->name . " 性别:". $this->sex . " 我的年龄是:". $this->age . "<br>";

24         //$this指的复本p2, 而$that是指向原本p1,这样就在本方法里,改变了复本的属性。

25         $this->name = "我是假的 $that->name";

26         $this->age = 30;

27     }

28  

29 }

30  

31 $p1= newPerson("张三", "男", 20);

32 $p2= clone $p1;

33 $p1->say();

34 $p2->say();

35 ?>

Ausgabe des obigen Beispiels:

Mein Name ist: Zhang San Geschlecht: Männlich Mein Alter ist: 20
My Name ist: Ich bin der falsche Zhang San. Geschlecht: Männlich. Mein Alter ist: 30

Das Obige hat das Klonobjekt in PHP vorgestellt, einschließlich seiner Aspekte. Ich hoffe, es wird für Freunde hilfreich sein, die sich für PHP-Tutorials interessieren.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:statisch und const in PHPNächster Artikel:statisch und const in PHP