ホームページ >バックエンド開発 >PHPチュートリアル >PHPの基礎知識:クラスとオブジェクト(3)コンストラクターとデストラクター_PHPチュートリアル

PHPの基礎知識:クラスとオブジェクト(3)コンストラクターとデストラクター_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:59:18693ブラウズ

コンストラクター
PHP 5 では、開発者がクラス内のコンストラクターとしてメソッドを定義できます。コンストラクターを持つクラスは、オブジェクトが作成されるたびにこのメソッドを呼び出すため、オブジェクトを使用する前に初期化作業を行うのに非常に適しています。
注:
コンストラクターがサブクラスで定義されている場合、その親クラスのコンストラクターは秘密裏に呼び出されません。親クラスのコンストラクターを実行するには、子クラスのコンストラクターでparent::__construct()を呼び出す必要があります。 (??他の言語とは明らかに違う??)

新しい標準コンストラクターの使用
class BaseClass {
function __construct() {
“In BaseClass constructionorn”
}
}

class SubClass extends BaseClass {C Function __ConStruct () {
Parent :: __ Construction ();
Print "in subclass constructionorn"; 後方互換性のために、PHP 5 はクラス内で __construct() 関数を見つけようとします。古いスタイルのコンストラクター。クラスと同じ名前の関数です。したがって、互換性の問題が発生する唯一の状況は、クラスに __construct() という名前のメソッドがすでに存在するが、それがコンストラクターではない場合です。

デストラクター
PHP 5 では、C++ などの他のオブジェクト指向言語と同様のデストラクターの概念が導入されました。デストラクターは、オブジェクトへのすべての参照が削除されるか、オブジェクトが明示的に破棄されるときに実行されます。
例10.9. デストラクターの例
class MyDestructableClass {
function __construct() {
print "Inconstructorn";
$this->name = "MyDestructableClass" }
function __destruct() {
Print "" . $this->name . "n";
}
}
$obj = new MyDestructableClass();
コンストラクターと同様に、親クラスのデストラクターはエンジンによって秘密裏に呼び出されません。親クラスのデストラクターを実行するには、子クラスのデストラクター本体でparent::__destruct()を明示的に呼び出す必要があります。 (??明らかに他の言語とは異なります??)
注:
デストラクターは、スクリプトが閉じられたとき、つまりすべてのヘッダー情報が送信されたときに呼び出されます。
注意:
デストラクターで例外をスローしようとすると、致命的なエラーが発生します。





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

www.bkjia.com

tru​​e

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

技術記事コンストラクター PHP5 では、開発者がクラス内のコンストラクターとしてメソッドを定義できます。コンストラクターを持つクラスは、オブジェクトが作成されるたびに最初にこのメソッドを呼び出すため、使用に非常に適しています...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。