PHP オブジェクト指向の Final キーワードの使用法と例

巴扎黑
リリース: 2023-03-07 12:40:02
オリジナル
2357 人が閲覧しました

このレッスンでは、最後のキーワードの概念と使用法について説明します。

最後のキーワードは何ですか?

final 中国語訳は「最終」、「最終」です。宣言する前に、final キーワードを使用してクラスを変更すると、この関数はオーバーロードされず、どのサブクラスにも継承されなくなります。つまり、final によって変更されたクラスはサブクラスを持つことができなくなります。

前回の講座では、public、private、protected、staticの4種類のキーワードについてお話しました。それぞれ、public、private、protected、staticです。使用法と例はすべて以前のコースに記載されているため、学習したい学生は以前のコースを参照してください:

php オブジェクト指向での静的メソッドの使用

php でのオブジェクト指向データの隠蔽

比較してみましょう。以下に例を示します。final と他のキーワードの違いは何ですか?final の使用法を分析してみましょう:

final の使用例の詳細な説明:

<?php
header("content-type:text/html;charset=utf-8");
class A{                                               //声明类
public $num = "23";
final function operation(){                            //创建方法,用final关键字
echo &#39;上面变量$num数字是 &#39; . $this->num ;
}
}
class B extends A{                                    //创建子类B继承A类
public $num = "50";
function operation()
{
echo &#39;这个变量$num数字是 &#39; . $this->num ;
}
}
$Num = new B();                                         //实例化子类
$Num ->operation();                                     //调用子类中的方法
ログイン後にコピー
最初にクラス A を作成し、クラス A にメソッドを追加しましたが、メソッドの前にfinalキーワードを使用しました。これは、クラスAのメソッドoperation()を継承またはオーバーロードできないことを意味します。次に、クラス A を継承するクラス B が作成されます。この中には、継承できないメソッドoperation() も含まれます。操作の結果はエラーのみになります。

上記の例では、クラスAのoperation()メソッドをクラスBでオーバーロードすることは禁止されています。これを実行すると、エラーが発生するだけです。

final がクラスの前に書かれている場合、クラス全体の継承が禁止されます。たとえば、上記の例では、

final class A{
}
ログイン後にコピー

このように記述すると、クラス A 全体は継承またはオーバーロードされません。

以上がPHP オブジェクト指向の Final キーワードの使用法と例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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