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 相关文章推荐
BBS(php &amp; mysql)完整版(四)
Oct 09 PHP
php array_pop()数组函数将数组最后一个单元弹出(出栈)
Jul 12 PHP
PHP 自定义错误处理函数trigger_error()
Mar 26 PHP
解析php利用正则表达式解决采集内容排版的问题
Jun 20 PHP
destoon各类调用汇总
Jun 20 PHP
ThinkPHP模板IF标签用法详解
Jul 01 PHP
php查询whois信息的方法
Jun 08 PHP
PHP 实现字符串翻转(包含中文汉字)的实现代码
Apr 01 PHP
详谈配置phpstorm完美支持Codeigniter(CI)代码自动完成(代码提示)
Apr 07 PHP
PHP简单留言本功能实现代码
Jun 09 PHP
解决laravel资源加载路径设置的问题
Oct 14 PHP
PHP常用函数之格式化时间操作示例
Oct 21 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微信网页获取用户信息
2017/11/24 PHP
php设计模式之装饰模式应用案例详解
2019/06/17 PHP
popdiv
2006/07/14 Javascript
11款基于Javascript的文件管理器
2009/10/25 Javascript
js导出txt示例代码
2014/01/14 Javascript
jQuery密码强度检测插件passwordStrength用法实例分析
2015/10/30 Javascript
JS Attribute属性操作详解
2016/05/19 Javascript
AngularJs Understanding the Controller Component
2016/09/02 Javascript
js中通过getElementsByName访问name集合对象的方法
2016/10/31 Javascript
js轮播图透明度切换(带上下页和底部圆点切换)
2017/04/27 Javascript
vue初尝试--项目结构(推荐)
2018/01/30 Javascript
node删除、复制文件或文件夹示例代码
2019/08/13 Javascript
Vue+abp微信扫码登录的实现代码示例
2020/01/06 Javascript
Python Web框架Flask中使用百度云存储BCS实例
2015/02/08 Python
Python实现获取某天是某个月中的第几周
2015/02/11 Python
Python如何为图片添加水印
2016/11/25 Python
你所不知道的Python奇技淫巧13招【实用】
2016/12/14 Python
详解python中的 is 操作符
2017/12/26 Python
基于Python socket的端口扫描程序实例代码
2018/02/09 Python
Python 通配符删除文件的实例
2018/04/24 Python
python通过配置文件共享全局变量的实例
2019/01/11 Python
python3 BeautifulSoup模块使用字典的方法抓取a标签内的数据示例
2019/11/28 Python
Python绘制二维曲线的日常应用详解
2019/12/04 Python
利用Python裁切tiff图像且读取tiff,shp文件的实例
2020/03/10 Python
django有哪些好处和优点
2020/09/01 Python
意大利制造的男鞋和女鞋:SCAROSSO
2018/03/07 全球购物
jurlique茱莉蔻英国官网:澳洲天然护肤品
2018/08/03 全球购物
行政文秘岗位职责范本
2014/02/10 职场文书
禁止高声喧哗的标语
2014/06/11 职场文书
批评与自我批评范文
2014/10/15 职场文书
陪护人员误工证明
2015/06/24 职场文书
三八妇女节主持词
2015/07/04 职场文书
自考生自我评价
2019/06/21 职场文书
话题作文之诚信
2019/11/28 职场文书
Vue的过滤器你真了解吗
2022/02/24 Vue.js
电脑开机弹出documents文件夹怎么回事?弹出documents文件夹解决方法
2022/04/08 数码科技