php构造函数与析构函数


Posted in PHP onApril 23, 2016

php构造函数是对象创建完成后,第一个自动调用的方法,析构函数是当对象被释放之前最后一个自动调用的方法。本文章向大家介绍php构造函数与析构函数。

php构造函数

1.是对象创建完成后,“第一个”“自动调用”的方法
2.构造方法的定义,方法名是一个固定的,

在php4中:和类名相同的方法就是构造方法
在php5中:构造方法选择使用 魔术方法__construct() 所有类中声明构造方法都使用这个名称

优点:在改变类名时,构造方法不用改变

魔术方法: 在类中写出了某个魔术方法,这个方法对应的功能就会添加上
方法名称都是固定的(都是系统提供好的),没有自己定义的
每一个魔术方法,都是在不同时刻为了完成某一功能自动调用的方法
不同的魔术方法有不同的调用时机
都是以 __ 开头的方法
 __construct(); __destruct(); __set();......

作用:为成员属性初始化;

php析构函数

1.当对象被释放之前最后一个“自动”调用的方法
使用垃圾回收器(java php),而c++手动 的释放
作用:关闭一些资源,作一些清理的工作

__destruct();

php构造函数与析构函数实例

class Person{ 
var $name; 
var $age; 
var $sex; 
//php4中的构造方法 
/*function Person() 
{ 
//每声明一个对象都会调用 
echo "1111111111111111"; 
}*/ 
//php5中的构造方法 
function __construct($name,$age,$sex){ 
$this->name=$name; 
$this->age=$age; 
$this->sex=$sex; 
} 
function say(){ 
//$this->name;//对象中成员的访问使用$this 
echo "我的名字:{$this->name},我的年龄:{$this->age}<br>" 
} 
function run(){ 
} 
function eat(){ 
} 
//析构方法 
function __destruct(){ 
} 
} 
$p1=new Person("zhangsan",25,"男"); 
$p2=new Person; 
$p3=new Person;
PHP 相关文章推荐
改进的IP计数器
Oct 09 PHP
在PHP中检查PHP文件是否有语法错误的方法
Dec 23 PHP
提高PHP编程效率的53个要点(经验小结)
Sep 04 PHP
深入理解ob_flush和flush的区别(ob_flush()与flush()使用方法)
Feb 06 PHP
PHP使用array_fill定义多维数组的方法
Mar 18 PHP
smarty模板判断数组为空的方法
Jun 10 PHP
php中smarty区域循环的方法
Jun 11 PHP
详解PHP中的状态模式编程
Aug 11 PHP
微信支付PHP SDK之微信公众号支付代码详解
Dec 09 PHP
php的闭包(Closure)匿名函数初探
Feb 14 PHP
Laravel框架路由设置与使用示例
Jun 12 PHP
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
Aug 23 PHP
浅谈PHP中的
Apr 23 #PHP
简单谈谈PHP中的include、include_once、require以及require_once语句
Apr 23 #PHP
浅析Yii2 gridview实现批量删除教程
Apr 22 #PHP
浅析Yii2 GridView 日期格式化并实现日期可搜索教程
Apr 22 #PHP
浅析Yii2 GridView实现下拉搜索教程
Apr 22 #PHP
PHP使用反射机制实现查找类和方法的所在位置
Apr 22 #PHP
浅析Yii2中GridView常见操作
Apr 22 #PHP
You might like
redis 队列操作的例子(php)
2012/04/12 PHP
Windows下部署Apache+PHP+MySQL运行环境实战
2012/08/31 PHP
php环境下利用session防止页面重复刷新的具体实现
2014/01/09 PHP
Windows下的PHP 5.3.x安装 Zend Guard Loader教程
2014/09/06 PHP
PHP面向对象之领域模型+数据映射器实例(分析)
2017/06/21 PHP
php数据结构之顺序链表与链式线性表示例
2018/01/22 PHP
cookie.js 加载顺序问题怎么才有效
2013/07/31 Javascript
js如何取消事件冒泡
2013/09/23 Javascript
javascript替换已有元素replaceChild()使用介绍
2014/04/03 Javascript
javascript实现自动输出文本(打字特效)
2015/08/27 Javascript
JS跨域解决方案之使用CORS实现跨域
2016/04/14 Javascript
微信小程序 ES6Promise.all批量上传文件实现代码
2017/04/14 Javascript
bootstrap table sum总数量统计实现方法
2017/10/29 Javascript
vue-cli 如何打包上线的方法示例
2018/05/08 Javascript
Vue实现根据hash高亮选项卡
2019/05/27 Javascript
layui table去掉右侧滑动条的实现方法
2019/09/05 Javascript
layui table 多行删除(id获取)的方法
2019/09/12 Javascript
Python的collections模块中namedtuple结构使用示例
2016/07/07 Python
Python模块搜索路径代码详解
2018/01/29 Python
基于scrapy的redis安装和配置方法
2018/06/13 Python
在python中获取div的文本内容并和想定结果进行对比详解
2019/01/02 Python
用Python配平化学方程式的方法
2019/07/20 Python
用python解压分析jar包实例
2020/01/16 Python
解决Python3.8运行tornado项目报NotImplementedError错误
2020/09/02 Python
Python 开发工具通过 agent 代理使用的方法
2020/09/27 Python
python3代码中实现加法重载的实例
2020/12/03 Python
美国购车网站:TrueCar
2016/10/19 全球购物
Goodee官方商店:迷你投影仪
2021/03/15 全球购物
TCP/IP中的TCP和IP分别承担什么责任
2012/04/21 面试题
给老师的道歉信
2014/01/11 职场文书
绩效工资分配方案
2014/01/18 职场文书
外贸专业求职信
2014/03/09 职场文书
2014年保卫科工作总结
2014/12/05 职场文书
自愿离婚协议书范本2016
2016/03/18 职场文书
MySQL事务操作的四大特性以及并发事务问题
2022/04/12 MySQL
SQL解决未能删除约束问题drop constraint
2022/05/30 SQL Server