ホームページ > バックエンド開発 > PHPチュートリアル > PHP の最終的なキーワード使用スキルの詳細な分析_PHP チュートリアル

PHP の最終的なキーワード使用スキルの詳細な分析_PHP チュートリアル

WBOY
リリース: 2016-07-15 13:33:43
オリジナル
803 人が閲覧しました

PHP プログラマーはマスターしています

クラス継承は PHP で最もよく使用されるプログラミング機能です。基本クラス (親クラス) を作成し、その中でいくつかの基本的なメソッドを定義し、サブクラスでメソッドを拡張できます。ただし、親クラスに非常に重要なメソッドがある場合、サブクラスがこのメソッドを継承すると、プログラムに問題が発生する可能性があるため、それらをサブクラスから継承することはできません。したがって、このメソッドは「プライベート」であり、拡張できないことを望んでいます。これが、PHP が継承されていないメソッドを変更するために Final キーワードを使用する理由です。

PHP の Final キーワードはクラスを変更し、クラス内のメソッドも変更できますが、それらの機能は似ています。つまり、final キーワードを使用して変更した場合、変更されたクラスまたはメソッドは拡張または継承されません。正直に引用することしかできません。クラスの前でfinalを使用する場合は、このクラスが継承を使用できないことを意味し、メソッドの前でPHPのfinalキーワードを使用する場合は、このメソッドをオーバーライドできないことを意味します。真実は非常に単純です。簡単な例も見てみましょう。

<ol class="dp-xml"><li class="alt">
<span class="tag"><</span> ?PHP   </li><li><span>final class BaseClass {   </span></li><li class="alt"><span>public function test() {   </span></li><li><span>echo "BaseClass::test() calledn";   </span></li><li class="alt"><span>}   </span></li><li><span>final public function moreTesting() {   </span></li><li class="alt"><span>echo "BaseClass::moreTesting() calledn";   </span></li><li><span>}   </span></li><li class="alt"><span>}   </span></li><li><span>class ChildClass extends BaseClass {   </span></li><li class="alt"><span>public function moreTesting() {   </span></li><li><span>echo "ChildClass::moreTesting() calledn";   </span></li><li class="alt"><span>}   </span></li><li><span>}   </span></li><li class="alt"><span>// Results in Fatal error: Cannot override final method BaseClass::moreTesting()   </span></li><li><span class="tag">?></span><span>  </span>
</li></ol>
ログイン後にコピー

この例では、クラスとメソッドの前に PHP の Final キーワードを追加して、必要に応じてこのクラスを出力することはできません。 基本的には次のようになります。クラスまたはメソッドが Final を使用する場合、そのクラスは継承できないか、サブクラスは親クラスのメソッドをオーバーライドできないことを意味することに注意してください。


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/446025.html技術記事 PHP プログラマーは、最もよく使用されるプログラミング機能の 1 つである PHP のクラスの継承を習得しており、基本クラス (親クラス) を作成し、その中でいくつかの基本的なメソッドを定義できます...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート