ホームページ >バックエンド開発 >PHPチュートリアル >PHP コンストラクターの宣言と使用法の概要_PHP チュートリアル
PHP はまだ比較的一般的に使用されているため、PHP コンストラクターを研究し、ここで皆さんに共有したいと思います。クラス内で __construct という名前の関数を宣言すると、その関数はコンストラクターとして扱われ、オブジェクト インスタンスの作成時に実行されます。同様に、コンストラクターにはパラメーターまたはデフォルト値。オブジェクトを作成し、そのすべてのプロパティをステートメントに含めるクラスを定義できます。また、__destruct という関数を定義することもできます。この関数は、オブジェクトが破棄される前に呼び出されます。継承はクラスの強力な機能です。クラス (サブクラス/派生クラス) は、別のクラス (親クラス/基本クラス) の機能を継承し、基本クラスのすべてのプロパティとメソッドを追加できます。 3.1.2 で示したように、extends キーワードを使用してクラスを継承することもできます。
コンストラクターがどのように継承されるのか疑問に思うかもしれません。これらが他のメソッドとともに継承される場合、オブジェクトの作成時に実行されません。この機能が必要な場合は、第 2 章で説明した :: 演算子を使用する必要があります。これにより、親ポイントを指すことができます。親クラスの名前空間。parent::__construct を使用して親クラスのコンストラクターを呼び出すことができます。
<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> </li> <li class="alt"><span>{ </span></li> <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> </li> <li class="alt"><span>function__construct() </span></li> <li class=""><span>{ </span></li> <li class="alt"><span>self::$count++; </span></li> <li class=""><span>} </span></li> <li class="alt"><span>function__destruct() </span></li> <li class=""><span>{ </span></li> <li class="alt"><span>self::$count--; </span></li> <li class=""><span>} </span></li> <li class="alt"><span>functiongetCount() </span></li> <li class=""><span>{ </span></li> <li class="alt"><span>returnself::$count; </span></li> <li class=""><span>} </span></li> <li class="alt"><span>} </span></li> <li class=""><span>//建立第一个实例 </span></li> <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> </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 class="tag-name">br</span><span class="tag">></span></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 class="tag-name">br</span><span class="tag">></span></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 class="tag-name">br</span><span class="tag">></span></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