这里父类的析构函数为什么会被执行

来源:2-5 PHP类和对象之构造函数和析构函数

喵大

2019-03-15 10:26

class Car {
    function __construct() {
        print "父类构造函数被调用 \n";
    }
    function __destruct() {
        print "父类析构函数被调用 \n";
    }
}
class Truck extends Car {
    function __construct() {
        print "子类构造函数被调用 \n";
        parent::__construct();
        //parent::__destruct();
    }
}
$car = new Truck();

父类定义了析构函数,子类只调用了父类的构造函数,但是执行的时候还是返回了父类析构函数执行的结果,为什么。

写回答 关注

1回答

  • Scene濛
    2019-03-15 11:06:36
    已采纳

    代码执行完之后,你创建的 $car 被销毁,就会调用析构函数,你的子类没有重写析构函数,就调用的就是父类的析构函数

    喵大 回复Scene濛

    get

    2019-03-15 14:00:32

    共 3 条回复 >

PHP进阶篇

轻松学习PHP中级课程,进行全面了解,用PHP快速开发网站程序

181734 学习 · 2575 问题

查看课程

相似问题