PHPデストラクタの正しい理解

黄舟
リリース: 2023-03-12 10:34:01
オリジナル
1296 人が閲覧しました

クラス内でconstructという名前の関数を宣言すると、この関数はコンストラクターとして扱われ、オブジェクトインスタンスの作成時に実行されます。コンストラクターにはパラメーターまたはデフォルト値を含めることができます。オブジェクトを作成し、そのすべてのプロパティをステートメントに入れるクラスを定義することもできます。また、destruct という関数を定義することもできます。この関数は、オブジェクトが破棄される前に呼び出されます。これは PHP

destructor

と呼ばれます。継承はクラスの強力な機能です。あるクラス (サブクラス/派生クラス) は別のクラス (親クラス/基本クラス) の関数を継承できます。派生クラスにはすべての

プロパティとメソッドが含まれます。 3.1.2 で示したように、extends キーワードを使用してクラスを継承することもできます。

他のメソッドと一緒にコンストラクターが継承されると、オブジェクトの作成時に実行されません

。この関数が必要な場合は、この章で説明した :: 演算子を使用する必要があります。 2.

名前空間を指すことができます。parent は親クラスの名前空間を指し、parent::construct を使用して親クラスのコンストラクターを呼び出すことができます。
一部のオブジェクト指向言語では、コンストラクターに次の名前が付けられます。 PHP の最初のいくつかのバージョンでも同じことが当てはまり、このメソッドは引き続き機能します。つまり、クラスに Animal という名前を付け、その中に Animal too メソッドという名前のクラスを作成すると、このメソッドはクラスの場合のコンストラクターになります。 construt コンストラクターとクラスと同じ名前の関数の両方があるため、PHP はコンストラクターをコンストラクターとして扱いますが、新しいスクリプト (PHP5) では、construct.PHP を使用する必要があります。コンストラクターを宣言する新しい方法により、コンストラクターが含まれるクラスの名前に関係なく、コンストラクターに一意の名前を付けることができます。この方法では、コンストラクターの名前を変更する必要はありません。

他のクラス メソッドと同様に、コンストラクターにアクセス メソッドを与えると、特定のスコープからオブジェクトをインスタンス化する機能に影響を与えることができます。これにより、

PHP などのいくつかの固定された

デザイン パターン

を実装できます。デストラクタはコンストラクタの逆です。デフォルトでは、PHP はオブジェクトのプロパティによって占有されているメモリを解放するだけであり、デストラクタを使用すると、後で任意のコードを実行してメモリをクリアできます。オブジェクトを使用する

スクリプトがオブジェクトに関連付けられていないと PHP が判断すると、名前空間内の関数で、これは関数が返されるときに行われます。スクリプトのオブジェクトを明示的に破棄したい場合は、そのオブジェクトを指す変数に他の値を割り当てることができます。次の例では、変数の値を NULL に割り当てるか、unset を呼び出します。オブジェクトはクラスからインスタンス化されます。Counter クラスはコンストラクターからインクリメントされ、PHP デストラクターでデクリメントされます。クラスを定義したら、new を使用してこのクラスのインスタンスを作成できます。インスタンスはアセンブリ ラインに配置されるコンポーネントです。 New にはクラスの名前が必要で、そのクラスのインスタンスを返します。コンストラクターにパラメータが必要な場合は、新しい PHP を作成するときにパラメータを入力する必要があります。デストラクター インスタンスでは、すべてのプロパティを保存するためにメモリが準備されます。各インスタンスには独自のプロパティ セットがありますが、メソッドはすべてのインスタンスで共有されるクラスによって決定されます。

以上がPHPデストラクタの正しい理解の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!