加入收藏 | 设为首页 | 会员中心 | 我要投稿 阜阳站长网 (https://www.0558zz.cn/)- AI行业应用、低代码、混合云存储、数据仓库、物联网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP构造函数和析构函数

发布时间:2022-08-03 09:43:49 所属栏目:PHP教程 来源:互联网
导读:构造函数 __construct() PHP 允许开发者在一个类中定义一个方法作为构造函数。具有构造函数的类会在每次创建新对象时先调用此方法,所以非常适合在使用对象之前做一些初始化工作。 复制代码 class Car { function __construct() { echo 这是构造函数 . br; }
  构造函数
   
 
  __construct()
    PHP 允许开发者在一个类中定义一个方法作为构造函数。具有构造函数的类会在每次创建新对象时先调用此方法,所以非常适合在使用对象之前做一些初始化工作。
  复制代码
  class Car
  {
      function __construct()
      {
          echo "这是构造函数" . "<br>";
      }
  }
  // 创建对象时会调用__construct()
  $car = new Car();   // 这是构造函数
  复制代码
    如果子类中定义了构造函数则不会隐式调用其父类的构造函数。要执行父类的构造函数,需要在子类的构造函数中调用 parent::__construct()。如果子类没有定义构造函数则会如同一个普通的类方法一样从父类继承(假如没有被定义为 private 的话)。
  复制代码
  class BaseClass
  {
      function __construct()
      {
          echo "这是父类构造函数" . "<br>";
      }
  }
   
  class SubClass extends BaseClass
  {
      function __construct()
      {
          parent::__construct();
          echo "这是子类构造函数" . "<br>";
      }
  }
   
  //这是父类构造函数
  //这是子类构造函数
  $subClass = new SubClass();
  复制代码
   
 
   
 
  析构函数
  __destruct()
    析构函数会在到某个对象的所有引用都被删除或者当对象被显式销毁时执行。
 
    和构造函数一样,父类的析构函数不会被引擎暗中调用。要执行父类的析构函数,必须在子类的析构函数体中显式调用 parent::__destruct()。此外也和构造函数一样,子类如果自己没有定义析构函数则会继承父类的。
 
    析构函数即使在使用 exit() 终止脚本运行时也会被调用。在析构函数中调用 exit() 将会中止其余关闭操作的运行。
 
   
 
  复制代码
  class Car
  {
      function __construct()
      {
          echo "这是构造函数" . "<br>";
      }
   
   
      function __destruct()
      {
          // TODO: Implement __destruct() method.
          echo "这是析构函数" . "<br>";
      }
  }
   
  $car1 = new Car();
  echo "----------------------" . "<br>";
  $car2 = new Car();
  echo "______________________" . "<br>";
   
  这是构造函数
  ----------------------
  这是构造函数
  ______________________
  这是析构函数
  这是析构函数
 

(编辑:阜阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读