PHPコンストラクター

巴扎黑
巴扎黑オリジナル
2016-11-22 10:45:431318ブラウズ

PHP5 以降、クラス内で __construct コンストラクター メソッドを宣言できるようになり、オブジェクトがインスタンス化されると、このメソッドが呼び出されます。
注意:
1. 継承されたサブクラスにコンストラクターがなく、親クラスにコンストラクターがある場合、サブクラスがインスタンス化されると、親クラスのコンストラクターが暗黙的に呼び出されます。
2. サブクラスにコンストラクターがあり、親クラスにもコンストラクターがある場合、サブクラスは明示的にparent::__construct()を呼び出して親クラスのコンストラクターにアクセスする必要があります。
3. 上位互換性のため、php5 クラスに __construct() メソッドが見つからない場合は、クラス名と同じメソッド名を持つコンストラクターを探します。

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;

印刷結果:

親__construct
__construct
Zhang San
男性
__destruct


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。