构造函数与析构函数 - PHP面向对象编程(OOP)

这两个函数用于对象生命周期结束前和对象生命周期结束后自动执行

PHP 构造函数

构造函数是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,在创建对象的语句中与 new 运算符一起使用。

PHP 5 允许开发者在一个类中定义一个方法作为构造函数,语法格式如下:

void __construct ([ mixed $args [, $... ]] )

在上面的例子中我们就可以通过构造方法来初始化 $url 和 $title 变量:

function __construct( $par1, $par2 ) {
   $this->url = $par1;
   $this->title = $par2;
}

现在我们就不需要再调用 setTitle 和 setUrl 方法了:

使用构造函数前

$runoob = new Site;
$taobao = new Site;
$google = new Site;

// 调用成员函数,设置标题和URL
$runoob->setTitle( "菜鸟教程" );
$taobao->setTitle( "淘宝" );
$google->setTitle( "Google 搜索" );

$runoob->setUrl( 'www.runoob.com' );
$taobao->setUrl( 'www.taobao.com' );
$google->setUrl( 'www.google.com' );

使用构造函数后

$runoob = new Site('www.runoob.com', '菜鸟教程');
$taobao = new Site('www.taobao.com', '淘宝');
$google = new Site('www.google.com', 'Google 搜索');

// 调用成员函数,获取标题和URL
$runoob->getTitle();
$taobao->getTitle();
$google->getTitle();

$runoob->getUrl();
$taobao->getUrl();
$google->getUrl();

析构函数

析构函数(destructor) 与构造函数相反,当对象结束其生命周期时(例如对象所在的函数已调用完毕),系统自动执行析构函数

PHP 5 引入了析构函数的概念,这类似于其它面向对象的语言,其语法格式如下:

void __destruct ( void )

实例

<?php
class MyDestructableClass {
   function __construct() {
       print "构造函数n";
       $this->name = "MyDestructableClass";
   }

   function __destruct() {
       print "销毁 " . $this->name . "n";
   }
}

$obj = new MyDestructableClass();
?>

执行以上代码,输出结果为:

构造函数
销毁 MyDestructableClass

参考文章

php

class类 - PHP面向对象编程(OOP)

2022-8-24 12:00:07

php

继承与方法重写 - PHP面向对象编程(OOP)

2022-8-24 14:27:51

⚠️
Npcink上的部份代码及教程来源于互联网,仅供网友学习交流,若您喜欢本文可附上原文链接随意转载。
无意侵害您的权益,请发送邮件至 1355471563#qq.com 或点击右侧 私信:Muze 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索