PHP의 '복제 양'

autoload
풀어 주다: 2023-04-09 20:02:02
원래의
2029명이 탐색했습니다.

정의: 개체 복제 복제, 즉 기존 개체에서 동일한 새 개체를 복사하지만 둘은 동일한 개체가 아닙니다. clone,即通过已有的对象复制一个新的同样的对象,但是两者之间并非同一个对象。

    1.对象克隆是通过clone关键字实现,即:clone 对象;

<?php
class Saler{
  	//属性
  	public $count;				
  	private $money;
}
//实例化
$s1 = new Saler();
$s1->count = 1;

//克隆
$s2 = clone $s1;
?>
로그인 후 복사

2.克隆出来的对象与原来对象是两个内存地址,因此是两个不同的对象

<?php
//接上述代码
$s2->count = 2;

echo $s1->count;		//1,没有变化
?>
로그인 후 복사

3. 对象在实例化的时候会自动调用存在的构造方法__construct(),同样的,在类的内部,PHP允许定义一个__clone()的方法,在对象被克隆后,新克隆出来的对象会自动调用

<?php
class Saler{
  	//属性
  	public $count;				
  	private $money;
    //克隆方法
    public function __clone(){
        var_dump($this);			//编号为2,代表是克隆出来的对象
        $this->count++;
    }
}
//实例化
$s1 = new Saler();
$s1->count = 1;

//克隆
$s2 = clone $s1;
?>
로그인 후 복사

4.如果不允许对象被克隆,可以将__clone()

1. 객체 복제는 clone 키워드를 통해 이루어집니다. 즉,

clone object;

2. 복제된 객체는 다음과 같습니다. 원본 객체 두 개의 메모리 주소이므로 두 개의 다른 객체입니다🎜🎜rrreee🎜🎜 3. 객체가 인스턴스화되면 클래스 내부에서 마찬가지로 기존 생성자 메서드 __construct()가 자동으로 호출됩니다. , PHP를 사용하면 개체가 복제된 후 새로 복제된 개체가 자동으로 🎜🎜rrreee🎜 🎜를 호출할 수 있도록 __clone() 메서드를 정의할 수 있습니다. 4. 개체 복제가 허용되지 않으면 __clone() 메소드 사유화를 사용할 수 있습니다(기본적으로 객체가 외부에서 복제되는 것을 허용하지 않습니다)🎜🎜rrreee🎜🎜권장: 🎜🎜php 비디오 튜토리얼🎜🎜

위 내용은 PHP의 '복제 양'의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!