PHP类的声明与实例化及构造方法与析构方法详解


Posted in PHP onJanuary 26, 2016

本文实例讲述了PHP类的声明与实例化及构造方法与析构方法。分享给大家供大家参考,具体如下:

<?php
class human{
  public static $leg=2;
  public $name = 'leo';
  public $age = '25';
  public function cry(){
  }
}
$leo = new human();
print_r($leo);
/*返回
human Object ( [name] => leo [age] => 25 )
*/
//为什么没有leg呢?
//是因为加了static,就变成了类的属性了,是属于所有
//通过这个类实例实例后的对象的
//public是权限修饰符,权限修饰符有public,protected,private
//在PHP4经常用到var,这个现在不怎么也不推荐用,就相当于public
//在PHP5中会把var解析成public
?>

有没有什么办法可以在new对象的时候,通过传参数来改变对象的属性呢?而不是千篇一律

答:可以在类中定义构造方法,即在初始化对象的时候,就会执行,并且可以接收参数

如下所示:

<?php 
class human{
  public static $leg=2;
  public $name = 'leo';
  public $age = '25';
  public function __construct($name,$age){
    $this->name=$name;
    $this->age=$age;
  }
}
$leo = new human('macro','23');
print_r($leo);
/*
返回
human Object ( [name] => macro [age] => 23 )
可以看到参数起作用了
__construct就是构造函数
*/
?>

与构造函数相对应的就是析构函数,即当对象销毁的时候执行的

如下所示:

<?php 
class human{
  public static $leg=2;
  public $name = 'leo';
  public $age = '25';
  public function __construct($name,$age){
    $this->name=$name;
    $this->age=$age;
    echo $this->name."对象生成啦<br />";
  }
  public function __destruct(){
    echo $this->name."对象销毁啦<br />";
  }
}
$leo = new human('macro','23');
$tim = new human('tim','18');
unset($leo);
echo '~~~~~~~~~~~~~~~~~~~~<br />';
/*
返回:
macro对象生成啦
tim对象生成啦
macro对象销毁啦
~~~~~~~~~~~~~~~~~~~~
tim对象销毁啦
*/
//__destruct是析构函数,即对象销毁的时候调用
//为什么$tim 没有unset 也执行了析构函数
//这是一个隐式销毁,unset是显式销毁
//当一个页面执行完成自动销毁
?>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP环境搭建最新方法
Sep 05 PHP
理解php Hash函数,增强密码安全
Feb 25 PHP
php模拟用户自动在qq空间发表文章的方法
Jan 07 PHP
10个超级有用值得收藏的PHP代码片段
Jan 22 PHP
PHP面向对象详解(三)
Dec 07 PHP
WordPress开发中自定义菜单的相关PHP函数使用简介
Jan 05 PHP
关于PHP中字符串与多进制转换函数的实例代码
Nov 03 PHP
yii2 commands模式以及配置crontab定时任务的方法
Aug 19 PHP
php单元测试phpunit入门实例教程
Nov 17 PHP
laravel实现登录时监听事件,添加登录用户的记录方法
Sep 30 PHP
PHP使用PDO实现mysql防注入功能详解
Dec 20 PHP
PHP数组实际占用内存大小原理解析
Dec 11 PHP
php实现爬取和分析知乎用户数据
Jan 26 #PHP
简单谈谈php延迟静态绑定
Jan 26 #PHP
php制作的简单验证码识别代码
Jan 26 #PHP
php文档工具PHP Documentor安装与使用方法
Jan 25 #PHP
PHP代码维护,重构变困难的4种原因分析
Jan 25 #PHP
PHP+apc+ajax实现的ajax_upload上传进度条代码
Jan 25 #PHP
PHP实现的oracle分页函数实例
Jan 25 #PHP
You might like
PHP基于工厂模式实现的计算器实例
2015/07/16 PHP
基于PHP实现解密或加密Cloudflar邮箱保护
2020/06/24 PHP
javascript js cookie的存储,获取和删除
2007/12/29 Javascript
点图片上一页下一页翻页效果
2008/07/09 Javascript
Javascript表格翻页效果实现思路及代码
2013/08/23 Javascript
JavaScript中创建类/对象的几种方法总结
2013/11/29 Javascript
Jquery的Tabs内容轮换效果实现代码,几行搞定
2014/02/12 Javascript
利用JavaScript检测CPU使用率自己写的
2014/03/22 Javascript
javascript实现图片上传前台页面
2015/08/18 Javascript
jQuery+canvas实现简单的球体斜抛及颜色动态变换效果
2016/01/28 Javascript
jQuery插件FusionCharts实现的MSBar3D图效果示例【附demo源码】
2017/03/23 jQuery
Javascript循环删除数组中元素的几种方法示例
2017/05/18 Javascript
微信小程序 共用变量值的实现
2017/07/12 Javascript
webpack搭建vue 项目的步骤
2017/12/27 Javascript
JavaScript实现单英文金山打字通
2020/07/24 Javascript
vue 微信扫码登录(自定义样式)
2020/01/06 Javascript
微信小程序中的上拉、下拉菜单功能
2020/03/13 Javascript
详解JavaScript之Array.reduce源码解读
2020/11/01 Javascript
python3+selenium实现126邮箱登陆并发送邮件功能
2019/01/23 Python
python控制nao机器人身体动作实例详解
2019/04/29 Python
Python 列表中的修改、添加和删除元素的实现
2020/06/11 Python
keras在构建LSTM模型时对变长序列的处理操作
2020/06/29 Python
Python图像处理之膨胀与腐蚀的操作
2021/02/07 Python
使用 HTML5 Canvas 制作水波纹效果点击图片就会触发
2014/09/15 HTML / CSS
用HTML5 实现橡皮擦的涂抹效果的教程
2015/05/11 HTML / CSS
微信小程序canvas实现水平、垂直居中效果
2020/02/05 HTML / CSS
医务工作者先进事迹材料
2014/01/26 职场文书
旅游个人求职信范文
2014/01/30 职场文书
十一酒店活动方案
2014/02/20 职场文书
公司年会策划方案
2014/05/17 职场文书
卖房协议书样本
2014/10/30 职场文书
2014年驻村干部工作总结
2014/11/17 职场文书
一般纳税人申请报告
2015/05/18 职场文书
小学课改工作总结
2015/08/13 职场文书
教师法制教育培训学习心得体会
2016/01/14 职场文书
Java异常处理try catch的基本用法
2021/12/06 Java/Android