php默认构造函数 重载操作 析构函数的差别

发布网友 发布时间:2022-04-06 07:49

我来回答

2个回答

懂视网 时间:2022-04-06 12:10

区别分析:

构造函数

具有构造函数的类会在每次创建对象时先调用此方法。

void __construct ([ mixed $args [, $... ]] )
  • 构造函数可以接收参数,能够在创建对象时赋值给对象属性

  • 构造函数可以调用类方法或其他函数

  • 构造函数可以调用其他类的构造函数

  • 举例

    <?php
    class BaseClass {
     function __construct() {
     print "In BaseClass constructor
    ";
     }
    }
    
    class SubClass extends BaseClass {
     function __construct() {
     parent::__construct();
     print "In SubClass constructor
    ";
     }
    }
    
    $obj = new BaseClass();
    $obj = new SubClass();
    ?>

    析构函数

    void __destruct ( void )
  • 析构函数是在销毁对象时,自动调用,不能显示的调用

  • 析构函数不能带参数

  • 举例:

    <?php
    class MyDestructableClass {
     function __construct() {
     print "In constructor
    ";
     $this->name = "MyDestructableClass";
     }
    
     function __destruct() {
     print "Destroying " . $this->name . "
    ";
     }
    }
    
    $obj = new MyDestructableClass();
    ?>

    如果您想要了解更多相关知识,请访问gxlcms。

    热心网友 时间:2022-04-06 09:18

    构造是new
    一个类的时候的,初始化调用的,通常命名为类名或者__construct
    php里面因为无类型,所有没有
    重载,只能模拟重载
    析构在类释放的时候调用,不常用

    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com