【PHP7 面向对象 笔记整理一】构造方法和析构方法

本文详细介绍了PHP面向对象中的构造方法`__construct`和析构方法`__destruct`,包括它们的格式、特性、作用,并通过多个实例展示了如何在实践中使用这两个方法。构造方法用于初始化对象,析构方法则在对象销毁前执行,常用于清理工作。文章还包含了多个综合练习,帮助读者深入理解这两者之间的交互和执行顺序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  本节主要讲解 PHP面向对象中的 魔术方法 中的其中两种,构造方法析构方法,主要从以下三部分总结:

一、__construct 构造方法

二、__destruct 析构方法

三、构造方法 和 析构方法 【综合练习】



一、 __construct 构造方法

1) 格式:

修饰符 function __construct()
{
   
    方法体
}

实例1:构造方法执行

class cc
{
   
    public $name = '串串';
    public $age = 18;

    public function __construct()
    {
   
        echo "预备工作,准备干掉串串<br>";
    }
}

// 实例化
$a = new cc;

运行结果:

construct 构造方法

2) 特性

  ① 在实例化的瞬间,自动触发;

  ② 无返回值;

  ③ public 可以省略;

  ④ 构造方式 不允许重复。

3) 调用构造方法的两种方式:

① 自动调用

// 实例化
$a = new cc;

② 手动调用

$a->__construct();

4) 作用:

​ 常用于做 赋初始值 (完成一些对象的初始化工作)

实例2:构造方法 赋初始值

class cc
{
   
    public $name;
    public $age;

    // 此处的 $name是形参,与属性$name无关
    public function __construct($name, $age)
    {
   
        echo "预备工作,准备干掉串串";

        // 将 形参 给了 属性
        $this->name = $name;
        var_dump($this->name);

        echo "<hr>";
    }

    public function test1()
    {
   
        echo '<br>测试1<br>';
        echo $this->name;
        echo "<hr>";
        return $this;
    }
}

// 实例化
$a = new cc('串串', 18);
echo $a->name;
echo "<hr>";

$a->test1();

运行结果:

构造方法(赋初始值)

如何 将两个变量中的方法通用?

答案: 将 变量 变成 属性

class cc
{
   
    public $name;
    public $age;

    // 此处的 $name 与属性 $name无关
    public function __construct($name, $age)
    {
   
        // 将 形参 给了 属性
        $this->name = $name;
        $this->age = $age;
    }

    public function test1()
    {
   
        // 如何 将两个方法中的 变量通用?
        // 答案:将 变量 变成 属性
        echo $this->name;
        echo $this->age;
    }
}

实例3:如何 将两个方法中的 变量通用?

class cc
{
   
    public $name;
    public $age;

    // 此处的 $name是形参,与属性 $name 无关
    public function __construct($name, $age)
    {
   
        
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值