ホームページ > php教程 > php手册 > PHPオブジェクト指向ガイド(4) 構築方法と破棄方法

PHPオブジェクト指向ガイド(4) 構築方法と破棄方法

WBOY
リリース: 2016-06-13 12:21:35
オリジナル
1003 人が閲覧しました

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

私の名前: Li Si 性別: 女性 私の年齢: 30
私の名前: Wang Wu 性別: 男性 私の年齢: 40
として図に示す:
=700) window.open('/upload/20090930220209825.gif');" src="http://www.bkjia.com/uploads/allimg/131016/0921001394-0.gif " onload="if(this.width>'700')this.width='700';if(this.height>'700')this.height='700';" border=0>

デストラクター:

コンストラクターの反対はデストラクターです。デストラクタは、PHP5 で新しく追加された内容です。PHP4 にはデストラクタはありません。デストラクターを使用すると、クラスを破棄する前に、ファイルを閉じる、結果セットを 解放するなど、一部の操作を実行したり、一部の機能を完了したりできます。デストラクターは、オブジェクトへのすべての参照が削除されるとき、またはオブジェクトが実行されるときに使用されます。明示的に破棄される場合、つまり、オブジェクトがメモリ内で破棄される前にデストラクターが呼び出されます。コンストラクターの名前と同様に、クラスのデストラクター名は __destruct() である必要があります。デストラクターはパラメータを取ることができません。
形式: function __destruct ( ) { ... ... }
コード スニペット



コードをコピー

コードは次のとおりです:


<
//人間の
クラス 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();? >

出力結果は次のとおりです:
私の名前: Zhang San 性別: 男性 私の年齢: 20
私の名前: Li Si 性別: 女性 私の年齢: 30
私の名前は: 王呉 性別: 男性 私の年齢: 40
さようなら、張三
さようなら、李思
さようなら、王呉
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート