ホームページ >バックエンド開発 >PHPチュートリアル >PHP コンストラクターの使用原理を素早くマスターする_PHP チュートリアル

PHP コンストラクターの使用原理を素早くマスターする_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-15 13:27:59836ブラウズ

コンストラクターは PHP の基本的な構文です。コンストラクターとは何ですか?ここで PHP コンストラクターを見てみましょう。クラス内で __construct という名前の関数を宣言すると、その関数はコンストラクターとして扱われ、オブジェクト インスタンスの作成時に実行されます。同様に、コンストラクターにはパラメーターまたはデフォルト値。オブジェクトを作成し、そのすべてのプロパティをステートメントに含めるクラスを定義できます。また、__destruct という関数を定義することもできます。この関数は、オブジェクトが破棄される前に呼び出されます。継承はクラスの強力な機能です。クラス (サブクラス/派生クラス) は、別のクラス (親クラス/基本クラス) の機能を継承し、基本クラスのすべてのプロパティとメソッドを追加できます。派生クラスのメソッドとメソッドをオーバーライドすることもできます。コンストラクターが他のメソッドと一緒に継承されると、オブジェクトの作成時に実行されなくなります。

一部のオブジェクト指向言語では、クラスの後にコンストラクターに名前を付けます。これは PHP の以前のバージョンでも同様であり、このメソッドは現在でも有効です。つまり、クラスに Animal という名前を付けてメソッドを作成すると効果的です。 Animal という名前の場合、このメソッドはコンストラクターです。クラスに __construt コンストラクターとそのクラスと同じ名前の関数の両方がある場合、PHP は __construct をコンストラクターとして扱います。これにより、以前の PHP バージョンで作成されたクラスを引き続き使用できます。ただし、新しいスクリプト (PHP5) では __construct を使用する必要があります。PHP の新しいコンストラクター宣言方法により、コンストラクターを使用できるようになります。関数は、クラスの名前に関係なく、一意の名前を持ちます。このようにして、クラスの名前を変更する必要はありません。

  • PHP コンストラクターは、他のクラス メソッドと同じアクセス メソッドを持ち、特定のスコープからオブジェクトをインスタンス化する機能に影響します。シングルトン パターンなどの一部の固定デザイン パターンは、コンストラクターとは対照的に、PHP によって呼び出され、オブジェクトをメモリから破棄します。デフォルトでは、PHP はオブジェクトのプロパティによって占有されているメモリのみを解放し、オブジェクトに関連付けられたリソースを破棄します。デストラクターを使用すると、オブジェクトの使用後にスクリプトがオブジェクトに関連付けられていないと PHP が判断すると、関数が返されるときにデストラクターが呼び出されます。グローバル変数の場合、これはスクリプトの終了時に発生します。オブジェクトを明示的に破棄する場合は、通常、変数に NULL を割り当てるか、unset を呼び出します。クラスからインスタンス化されたオブジェクトの数。クラスを定義すると、Counter クラスはコンストラクターから値をインクリメントし始め、new を使用してこのクラスのインスタンスを作成できます。クラスは設計図面であり、インスタンスはアセンブリ ラインに配置されるコンポーネントです。 New にはクラスの名前が必要で、コンストラクターにパラメーターが必要な場合は、クラスのインスタンスを返します。
  • の後にパラメーターを入力する必要があります。
<ol class="dp-xml">
<li class="alt">
<span><strong><font color="#006699"><span class="tag"><?</SPAN><SPAN class=tag-name>php</SPAN></FONT></STRONG><SPAN> </SPAN></SPAN><LI class=""><SPAN>classCounter  </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>();  </SPAN></SPAN><LI class=""><SPAN>//输出1  </SPAN><LI class=alt><SPAN>print($c-</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></span></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=""><span>//建立第二个实例  </span></li>
<li class="alt">
<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=""><span>//输出2  </span></li>
<li class="alt">
<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=""><span>//销毁实例  </span></li>
<li class="alt">
<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=""><span>//输出1  </span></li>
<li class="alt">
<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="">
<span></span><span class="tag"><strong><font color="#006699">?></font></strong></span><span> </span>
</li>
</ol>
新しいインスタンスを作成すると、すべての属性を保存するためのメモリが準備されます。ただし、メソッドはすべてのインスタンスで共有されるクラスによって決定されます。

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

www.bkjia.com


本当

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

コンストラクターは PHP の基本的な構文です。コンストラクターとは何ですか?ここで PHP コンストラクターを見てみましょう。クラス内で関数を宣言する場合は、__constr... という名前を付けます
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。