8. コンストラクターとデストラクター
ほとんどのクラスには、コンストラクターと呼ばれる特別なメソッドがあります。オブジェクトが作成されると、コンストラクター
番号が自動的に呼び出されます。つまり、オブジェクトのインスタンス化に new キーワードが使用されると、コンストラクター メソッドが自動的に呼び出されます。
コンストラクターの宣言は、名前が __construct() である必要がある点を除いて、他の操作の宣言と同じです。これは PHP5 での
の変更です。以前のバージョンでは、コンストラクターの名前はクラス名と同じでなければなりませんでしたが、現在では
が使用されることはほとんどありません。利点は、コンストラクターをクラス名から独立させることができるため、クラス名が変更された場合に、対応するコンストラクター名を変更する必要がないことです。下位互換性のために、クラスに __construct() という名前のメソッドがない場合、
PHP はクラス名と同じ名前で php4 で書かれたコンストラクター メソッドを検索します。
形式: function __construct ([parameter]) { ... ... }
クラス内で宣言できるコンストラクターは 1 つだけですが、コンストラクターはオブジェクトが作成されるたびに 1 回だけ呼び出されます
作成メソッド。このメソッドはアクティブに呼び出すことができないため、通常はいくつかの便利な初期化タスクを実行するために使用されます。たとえば、ペアの属性
には、オブジェクトの作成時に初期値が割り当てられます。
コード スニペット
コードをコピー コードは次のとおりです:
<
// human
class Person{
//以下は人物のメンバー属性です
var $name; //人物の名前
var $sex; //人物の性別
var $ age; //その人の年齢
//名前 $name、性別 $sex、年齢 $age としてコンストラクター パラメーターを定義します
function __construct($name, $sex, $age){
//渡されましたコンストラクター $name を通じてメンバー属性に初期値を割り当てます $this->name
$this->name=$name;
//コンストラクター メソッドを通じて渡された $sex が割り当てられますメンバー属性 $this->sex 初期値を割り当てます
$this->sex=$sex;
//コンストラクター メソッドを通じて渡された $age は、メンバー プロパティ $this に初期値を割り当てます->age
$this-> ;age=$age;
}
//この人の話し方
functionsay(){
echo "私の名前は: ".$ this->name." 性別: ".$this->sex." 私の年齢: ".$this->age."
";
}
}
//コンストラクター メソッドを通じて 3 を作成します。オブジェクト $p1、p2、$p3 はそれぞれ、名前、性別、年齢の 3 つの異なる実際のパラメーターを渡します。
$p1=new Person("张三","男", 20);
$p2 =new Person("李四","女", 30);
$p3=new Person("王五","男", 40); $p1 オブジェクトの単語 Method
$p1->say();
//以下は $p2 オブジェクトの発話メソッドにアクセスします
$p2->say(); >//以下は $p3 オブジェクトにアクセスします 話し方
$p3->say()
?>
出力結果は次のとおりです:
私の名前私は: Zhang San 性別: 男性 私の年齢: はい: 20
<
//人間の
クラス Person{
// 以下は人物のメンバー属性です
var $name; person
var $sex; //人の性別
var $age; //人の年齢
//コンストラクターパラメータを名前$name、性別$sex、年齢として定義します$age
function __construct( $name , $sex, $age){
//コンストラクターを通じて渡された $name には、メンバー属性 $this->name
$this->name=$name に初期値が割り当てられます;
//構築メソッドを通じて渡された $sex には、メンバー属性 $this->sex
$this->sex=$sex
//$ が割り当てられます。構築メソッドを通じて渡された年齢は、メンバー属性 $this->age に初期値が割り当てられます
$this->age=$age;
}
//この人の話し方
function Say(){
echo "私の名前は: ".$this->name." 性別: ".$this->性別" 私の年齢: ".$this->; age."
";
}
//これはオブジェクトが破棄される前に呼び出されるデストラクターです。
function __destruct(){
echo "Goodbye".$this- >name."
" ;
}
//構築メソッドを通じて 3 つのオブジェクト $p1、p2、$p3 を作成し、3 つの異なる実際のパラメータを渡します: 名前、性別、年齢
$p1=新しい人(" "張三", "男性", 20);
$p2=新しい人("李四", "女性", 30);
$p3=新しい人( "王五", "男", 40);
//以下は $p1 オブジェクトの発言メソッドにアクセスします
$p1->
//以下は発言メソッドにアクセスします$p2 オブジェクトのメソッド
$p2->say();
//以下は $p3 オブジェクトの発話メソッドにアクセスします
$p3->say();? >