Ab PHP5 können Sie die Konstruktormethode __construct in einer Klasse deklarieren. Diese Methode wird aufgerufen, wenn das Objekt instanziiert wird.
Hinweis:
1. Wenn in der geerbten Unterklasse kein Konstruktor vorhanden ist, in der übergeordneten Klasse jedoch ein Konstruktor, wird beim Instanziieren der Unterklasse implizit der Konstruktor der übergeordneten Klasse aufgerufen.
2. Wenn die Unterklasse einen Konstruktor hat und die übergeordnete Klasse auch einen Konstruktor hat, muss die Unterklasse explizit parent::__construct() aufrufen, um auf den Konstruktor der übergeordneten Klasse zuzugreifen.
3. Wenn die __construct()-Methode nicht in der PHP5-Klasse gefunden wird, sucht sie nach einem Konstruktor mit demselben Methodennamen wie der Klassenname.
class Person{ public $sex = '男'; function __construct() { echo 'parent __construct'; } } class Student extends Person{ private $id; private $name; private $age; //构造函数 function __construct($id,$name,$age) { parent::__construct(); echo '__construct'; $this->id = $id; $this->name = $name; $this->age = $age; } public function getName() { return $this->name; } //析构函数 function __destruct(){ echo '__destruct'; } } $su = new Student('id001','张三',20); echo $su->getName(); echo $su->sex;
Druckergebnis:
parent __construct
__construct
Zhang San
Male
__destruct