ホームページ > バックエンド開発 > PHPチュートリアル > PHP構築メソッドの継承におけるデストラクタメソッドのパフォーマンスを図で詳しく解説

PHP構築メソッドの継承におけるデストラクタメソッドのパフォーマンスを図で詳しく解説

墨辰丷
リリース: 2023-03-29 15:26:01
オリジナル
1596 人が閲覧しました

この記事では主にPHP構築メソッドの継承におけるデストラクタメソッドのパフォーマンスについて詳しく紹介していますので、興味のある方は参考にしてみてください

サブクラスに構築メソッドが定義されていない場合、親クラスの構築が自動的に呼び出されます。 。 方法。したがって、サブクラスをインスタンス化するときは、親クラスのコンストラクター メソッドに従う必要があります。

は次のように変更されました:

サブクラスが独自のコンストラクターを定義する場合、親クラスのコンストラクターは自動的には呼び出されませんが、手動で呼び出すことができます:parent::__construct();

しかし、通常、サブクラスでは、多くの場合、コンストラクターで、コードを保存して読みやすさを高めるために、親クラスのコンストラクターを呼び出す必要があります:

サブクラスにデストラクター メソッドが定義されていない場合、親クラスのデストラクター メソッドが自動的に呼び出されます。サブクラスが独自のデストラクター メソッドを定義している場合、親クラスのデストラクター メソッドは自動的には呼び出されませんが、parent::__destruct() によって手動で呼び出すことができます。 Override

Override は上書きとも呼ばれ、親クラスから継承したプロパティやメソッドを再定義する、つまり最初から書き込むことを意味します。

ただし、サブクラスは親クラスのメソッドをオーバーライドして、特定の作業を完了するために親クラスの同じ名前のメソッドを呼び出すことができますが、これは必須ではありません。親クラスのメソッドの実行結果がサブクラスに適していない可能性もあり、その場合はサブクラスがすべて単独で記述します。

書き換えの基本要件:

アクセス制御権限: 部下のアクセス制御権限は、上位のアクセス制御権限と同じである必要があります: 上位: パブリック 下位: パブリックのみ 上位: 保護 下位: 保護、パブリック 上位: プライベート 下位: プライベート 保護public - 実際には、このケースには意味がありません。プライベートなものは上書きできませんが、まったく新しいものとして扱われます。

メソッドのパラメータ形式: 親クラスと一致している必要があります。

プライベート プロパティとプライベート メソッドのオーバーライドに関する問題: プライベート プロパティとメソッドはオーバーライドできませんが、実際には、サブクラスは親クラスに対してプライベートである同じ名前のプロパティまたはメソッドを定義できます。それを独自の新しい属性またはメソッドとして扱ってください。ただし、メソッドのパラメータは一貫している必要があります。コンストラクター メソッドの書き換えの問題: コンストラクター メソッドは他の通常のメソッドと同様に書き換えられるだけでなく、通常のメソッドよりも緩和されます。オーバーライド時にパラメーターが不一致になる可能性があります。

最後のクラス:

通常、クラスが特に宣言されていない場合、「他の人」はそれを取得して使用し、それを「拡張」することができます (継承)。

ただし:

クラスを拡張したくない場合は、それを「最終クラス」として宣言できます。

形式:

最終クラス クラス名 {. 。 。 。クラス定義。 。 。 。 }

ファイナルメソッドfinalメソッド

通常、メソッドが特に宣言されていない場合、下位クラスはそれを「オーバーライド」(オーバーライド)できます。

ただし:

メソッドが下位クラスによってオーバーライドされたくない場合は、そのメソッドを「最終メソッド」として指定できます。

形式:

final関数メソッド名(){。 。 。 。メソッドの定義。 。 。 。 }

要約: 以上がこの記事の全内容です。皆さんの学習に役立つことを願っています。

関連する推奨事項:

php

PHPでディレクトリファイルを走査する一般的な方法

パスとディレクトリを取得するためのPHPメソッドの概要

以上がPHP構築メソッドの継承におけるデストラクタメソッドのパフォーマンスを図で詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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