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