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
- Flask使用Blueprint进行多模块应用的编写
- 优雅的在终端中编写Python
- Eclipse相关问题
- (54) 剖析Collections - 设计模式 / 计算机程序的思维逻辑
- Django 博客教程(三):创建应用和编写数据库模型
- package-info.java文件详解
- 在Spring下集成ActiveMQ
- Java中只有按值传递,没有按引用传递!
- 我是如何使用Python来自动化我的婚礼的
- left join 过滤条件写在on后面和写在where 后面的区别
- 如何在大量jar包中搜索特定字符
- sql自连接经典示例
- astyle 使用说明
- Spring AOP 实现原理与 CGLIB 应用
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- Linux 查找当前目录下所有包含指定内容的文件
- 父子管道更有效地扩展应用及其存储库结构
- Go语言 | 你还在这样获取文件的大小吗?
- 如何在Gitlab流水线中对部署进行控制?
- 工具的使用 | Hydra暴力破解工具的用法
- “灯下黑”应用在windows隐身后门中的实践
- 渗透测试-信息收集命令总结
- 什么?一个核同时执行两个线程?
- 如何下载网页上的视频?
- c++ int,unsigned int混合表达式类型转换
- MySQL5.7+查看Waiting for table metadata lock 锁情况
- input如何快速进行规则校验
- 史上最详细的sqlServer手工注入详解
- Spring 基于 Java 的配置
- Spring中的Spring JSR-250 注释之@Resource