首页> 基础笔记 >PHP基础学习 >面向对象 面向对象
PHP面向对象特殊对象的复制(克隆)clone
作者:小萝卜 2019-09-03 【 PHP 面向对象 】 浏览 1216
简介特殊对象的复制(克隆)clone,特殊对象就是对象中含有子对象后资源属性,此对象在复制一份时,内部子对象和资源属性并没有复制一份。
PHP面向对象特殊对象的复制(克隆)clone
<?php
//特殊对象的复制(克隆)clone:
//特殊对象就是对象中含有子对象后资源属性
//此对象在复制一份时,内部子对象和资源属性并没有复制一份。
//测试
$f = new File("a.txt");
echo $f->myread(40);
echo "<hr/>";
echo $f->myread(40);
$f2 = clone $f;
//$f=null;
echo $f2->myread(40);
echo "<pre>";
var_dump($f);
var_dump($f2);
//定义一个文件信息读取类
class File{
private $filename;
private $flink;
public function __construct($filename){
//初始化文件信息
$this->filename = $filename;
//打开文件
$this->flink = fopen($filename,"r");
}
public function myread($m){
return fread($this->flink,$m);
}
public function __clone(){
$this->flink = fopen($this->filename,"r");
}
public function __destruct(){
if($this->flink){
fclose($this->flink);
}
}
}
很赞哦! (0)