PHP面向對象之構造函數和析構函數

  • 2019 年 12 月 17 日
  • 筆記

PHP面向對象之構造函數和析構函數

構造方法定義

構造方法又稱為構造函數,是對象被創建時自動調用的方法,一般用來完成類初始化需要做的事情

特性

  • 構造函數可以接受參數,能夠在創建對象時賦值給對象屬性
  • 構造函數可以調用類方法或其他函數
  • 構造函數可以被其他方法顯示調用
  • 構造函數可以調用其他類的構造函數

聲明構造函數

使用 __construct() 來進行聲明 例如:

class Person{        private $name;      private $age;      private $gender;        public function __construct($name,$age,$gender){          $this->setName($name);          $this->setAge($age);          $this->setGender($gender);      }        public function setName($name){          $this->name = $name;      }      public function setAge($age){          $this->age = $age;      }        // ... getter setter 方法    }    $peron = new Person("賀德強",18,'男');

如需調用父類構造函數,必須使用 parent

parent::__construct();

析構函數

對象被銷毀,或某個對象的所有引用被刪除是執行的函數

特性

  • 析構函數是在銷毀對象時,自動調用,不能顯示的調用。
  • 析構函數不能帶參數。

聲明定義

通過 __destruct() 來進行聲明

例如:

class test{      function __destruct(){          echo "當對象銷毀時會調用!!!";      }    }  $a = $b = $c = new test();    $a = null;  unset($b);