この記事では、継承におけるPHPコンストラクターのデストラクターメソッドのパフォーマンスを参考に共有します。具体的な内容は次のとおりです
サブクラスにコンストラクターが定義されていない場合、親クラスのコンストラクターが自動的に呼び出されます。 。したがって、サブクラスをインスタンス化するときは、親クラスのコンストラクター メソッドに従う必要があります。
次のように変更します:
サブクラスが独自のコンストラクターを定義する場合、親クラスのコンストラクターは自動的には呼び出されませんが、手動で呼び出すことができます:parent::__construct();
ただし、通常、サブクラスでは、多くの場合、コンストラクター メソッドで、コードを保存して読みやすさを向上させるために、親クラスのコンストラクター メソッドを呼び出す必要があります:
サブクラスにデストラクター メソッドが定義されていない場合、親クラスのデストラクター メソッドが自動的に呼び出されます。サブクラスが独自のデストラクター メソッドを定義している場合、親クラスのデストラクター メソッドは自動的には呼び出されませんが、parent::__destruct() によって手動で呼び出すことができます。 Override
Override は上書きとも呼ばれ、親クラスから継承したプロパティやメソッドを再定義する、つまり最初から書き込むことを意味します。
ただし、サブクラスは親クラスのメソッドをオーバーライドして、特定の作業を完了するために親クラスの同じ名前のメソッドを呼び出すことができますが、これは必須ではありません。親クラスのメソッドの実行結果がサブクラスに適していない可能性もあり、その場合はサブクラスがすべて単独で記述します。
書き換えの基本要件:
アクセス制御権限: 部下のアクセス制御権限は、上位のアクセス制御権限と同じである必要があります: 上位: パブリック 下位: パブリックのみ 上位: 保護 下位: 保護、パブリック 上位: プライベート 下位: プライベート 保護public - 実際には、このケースには意味がありません。プライベートなものは上書きできませんが、まったく新しいものとして扱われます。
メソッドのパラメータ形式: 親クラスと一致している必要があります。
プライベート プロパティとプライベート メソッドのオーバーライドに関する問題: プライベート プロパティとメソッドはオーバーライドできませんが、実際には、サブクラスは親クラスに対してプライベートな同じ名前のプロパティまたはメソッドを定義できます。それを独自の新しい属性またはメソッドとして扱ってください。ただし、メソッドのパラメータは一貫している必要があります。コンストラクター メソッドの書き換えの問題: コンストラクター メソッドは他の通常のメソッドと同様に書き換えられるだけでなく、通常のメソッドよりも緩和されます。オーバーライド時にパラメーターが不一致になる可能性があります。
最終クラス:
通常、クラスが特に宣言されていない場合、「他の人」はそれを取得して使用し、それを「拡張」することができます (継承)。
ただし:
クラスを拡張したくない場合は、それを「最終クラス」として宣言できます。
形式:
最終クラス クラス名 {. 。 。 。クラス定義。 。 。 。 }
最終メソッド最終メソッド
通常、メソッドが特に宣言されていない場合、下位クラスはそれを「オーバーライド」(オーバーライド)できます。
ただし:
メソッドが下位クラスによってオーバーライドされたくない場合は、そのメソッドを「最終メソッド」として指定できます。
形式:
final関数メソッド名(){。 。 。 。メソッドの定義。 。 。 。 }
以上がこの記事の全内容です、皆様の学習のお役に立てれば幸いです。
上記は、PHP 構築メソッドの継承におけるデストラクター メソッドのパフォーマンスを、PHP と破壊の内容を含めて紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。