ホームページ > バックエンド開発 > PHPチュートリアル > PHP コンストラクターの宣言と使用法の概要_PHP チュートリアル

PHP コンストラクターの宣言と使用法の概要_PHP チュートリアル

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-07-15 13:27:07
オリジナル
933 人が閲覧しました

PHP はまだ比較的一般的に使用されているため、PHP コンストラクターを研究し、ここで皆さんに共有したいと思います。クラス内で __construct という名前の関数を宣言すると、その関数はコンストラクターとして扱われ、オブジェクト インスタンスの作成時に実行されます。同様に、コンストラクターにはパラメーターまたはデフォルト値。オブジェクトを作成し、そのすべてのプロパティをステートメントに含めるクラスを定義できます。また、__destruct という関数を定義することもできます。この関数は、オブジェクトが破棄される前に呼び出されます。継承はクラスの強力な機能です。クラス (サブクラス/派生クラス) は、別のクラス (親クラス/基本クラス) の機能を継承し、基本クラスのすべてのプロパティとメソッドを追加できます。 3.1.2 で示したように、extends キーワードを使用してクラスを継承することもできます。

コンストラクターがどのように継承されるのか疑問に思うかもしれません。これらが他のメソッドとともに継承される場合、オブジェクトの作成時に実行されません。この機能が必要な場合は、第 2 章で説明した :: 演算子を使用する必要があります。これにより、親ポイントを指すことができます。親クラスの名前空間。parent::__construct を使用して親クラスのコンストラクターを呼び出すことができます。

    以前のバージョンの PHP では、コンストラクターに名前を付けます。つまり、クラスに Animal という名前を付け、その中に Animal という名前のメソッドを作成した場合、クラスに __construt コンストラクターとそのクラスと同じ名前の関数の両方がある場合、このメソッドは Constructor になります。 , PHP は __construct をコンストラクターとして扱います。これにより、以前の PHP バージョンで作成されたクラスを引き続き使用できますが、新しいスクリプト (PHP5) __construct を使用する必要があります。
  • PHP の新しいコンストラクター宣言方法により、コンストラクターに一意の名前を付けることができます。この方法では、クラスの名前を変更するときに、コンストラクターの名前を変更する必要はありません。PHP では、コンストラクターに他のアクセス メソッドを与えることができます。他のクラス メソッドは、特定のスコープからオブジェクトをインスタンス化する機能に影響を与えます。これにより、オブジェクトを破棄するための PHP 呼び出しのような、いくつかの固定デザイン パターンの実装が可能になります。デフォルトでは、PHP はオブジェクトのプロパティによって占有されているメモリを解放し、オブジェクトに関連するリソースを破棄するだけで、オブジェクトの使用後に任意のコードを実行してメモリをクリアできます。オブジェクトに関連する場合は、関数の名前空間内でデストラクターが呼び出されます。これは、関数が を返すときに発生します。グローバル変数の場合、これはスクリプトの最後に発生します。オブジェクトを明示的に破棄する場合は、代入できます。オブジェクトを指す変数に他の値を代入するか、以下の
を呼び出します。この例では、クラスからインスタンス化されたオブジェクトの数をカウントし、PHP コンストラクターで開始して減分します。デストラクター内でクラスを定義すると、new を使用してクラスのインスタンスを作成できます。クラスの定義はアセンブリ ラインに配置されるコンポーネントです。 PHP コンストラクターにパラメーターが必要な場合は、new.

<ol class="dp-xml">
<li class="alt"><span><span> </span></span></li>
<li class="">
<span></span><strong><font color="#006699"><span class="tag"><?</SPAN><SPAN class=tag-name>phpclassCounter</SPAN></FONT></STRONG><SPAN> </SPAN></SPAN><LI class=alt><SPAN>{  </SPAN><LI class=""><SPAN>privatestatic$</SPAN><SPAN class=attribute><FONT color=#ff0000>count</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>0</FONT></SPAN><SPAN>;  </SPAN></SPAN><LI class=alt><SPAN>function__construct()  </SPAN><LI class=""><SPAN>{  </SPAN><LI class=alt><SPAN>self::$count++;  </SPAN><LI class=""><SPAN>}  </SPAN><LI class=alt><SPAN>function__destruct()  </SPAN><LI class=""><SPAN>{  </SPAN><LI class=alt><SPAN>self::$count--;  </SPAN><LI class=""><SPAN>}  </SPAN><LI class=alt><SPAN>functiongetCount()  </SPAN><LI class=""><SPAN>{  </SPAN><LI class=alt><SPAN>returnself::$count;  </SPAN><LI class=""><SPAN>}  </SPAN><LI class=alt><SPAN>}  </SPAN><LI class=""><SPAN>//建立第一个实例  </SPAN><LI class=alt><SPAN>$</SPAN><SPAN class=attribute><FONT color=#ff0000>c</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>newCounter</FONT></SPAN><SPAN>();//输出1  </SPAN></SPAN><LI class=""><SPAN>print($c-</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></span></font></strong><span>getCount()."</span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag-name>br</SPAN><SPAN class=tag>></span></font></strong><span>n");  </span>
</li>
<li class="alt"><span>//建立第二个实例  </span></li>
<li class="">
<span>$</span><span class="attribute"><font color="#ff0000">c2</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">newCounter</font></span><span>();  </span>
</li>
<li class="alt"><span>//输出2  </span></li>
<li class="">
<span>print($c-</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>getCount()."</span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag-name>br</SPAN><SPAN class=tag>></span></font></strong><span>n");  </span>
</li>
<li class="alt"><span>//销毁实例  </span></li>
<li class="">
<span>$</span><span class="attribute"><font color="#ff0000">c2</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">NULL</font></span><span>;  </span>
</li>
<li class="alt"><span>//输出1  </span></li>
<li class="">
<span>print($c-</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>getCount()."</span><strong><font color="#006699"><span class="tag"><</SPAN><SPAN class=tag-name>br</SPAN><SPAN class=tag>></span></font></strong><span>n");</span><span class="tag"><strong><font color="#006699">?></font></strong></span><span> </span>
</li>
</ol>
ログイン後にコピー
の後にパラメーターを入力する必要があります。新しいインスタンスを作成すると、各インスタンスに独自のプロパティが格納されるようにメモリが準備されます。ただし、メソッドはクラスのすべてのインスタンスで共有されます。

http://www.bkjia.com/PHPjc/446533.html
www.bkjia.com

tru​​ehttp://www.bkjia.com/PHPjc/446533.html技術記事 PHP はまだ比較的一般的に使用されているため、PHP コンストラクターを研究し、ここで共有しました。皆さんのお役に立てれば幸いです。クラス内で関数を宣言する場合は、名前を付けます...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート