php面向对象基础 析构函数 对象传值

时间:2020-01-07
本文章向大家介绍php面向对象基础 析构函数 对象传值,主要包括php面向对象基础 析构函数 对象传值使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

析构方法(了解)

  定义:析构__destruct(),也是一种类结构中特殊的方法,与构造方法一样,也是系统规定好的,只需要开发人员抄写一遍即可。对象被销毁时会自动调用

 1.析构方法实现:类中增加一个destruct()方法

<?php

class studentaa{
    public function __destruct()
    {
        echo __FUNCTION__;
    }
}

$obj=new studentaa();
//注销对象的时候会返回析构函数的方法名称
unset($obj);
?>

析构方法调用:析构方法是在对象被销毁时自动调用,对象的垂死挣扎;

析构方法是对象用来调用释放对象中的资源,不是用来删除对象的,

析构函数也是普通方法,可以有对象直接调用(没有意义)。

  对象销毁情形

    保存对象的变量被用来保存其他数据,导致对象内存没有任何变量引用

    删除对象变量

    脚本执行结束:释放所有变量

总结:析构方法是一种对象销毁时自动调用的方法

    析构方法是用来对象销毁自身所占用的资源。

对象传值

  定义:对象传值,其实就是将保存对象的变量赋值给另外一个变量,在php中,对象的传值是引用传递的,即一个对象变量赋值给另外一个变量,两个变量指向同一个对象内存地址,即只有一个对象。

对象传值就是保存对象的变量赋值给另外一个变量

  

<?php

class studentaa{
    public $name;
    public function __destruct()
    {
        echo __FUNCTION__;
    }
}

$s1=new studentaa();

$s2=$s1;

//验证两个变量是不是都指向同一个对象
$s1->age=18;

echo $s2->age;   //输出18  同一个对象
var_dump($s1,$s2);


?>

总结:对象传值是引用传值,一般情况下不会再相中用到;

原文地址:https://www.cnblogs.com/xiaowie/p/12160942.html