ホームページ >バックエンド開発 >PHPチュートリアル >PHP 遅延静的バインディングの例の分析

PHP 遅延静的バインディングの例の分析

高洛峰
高洛峰オリジナル
2016-12-26 16:10:511101ブラウズ

この記事の例では、PHP での遅延静的バインディングの方法について説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです:

php 遅延静的バインディング: クラスの自己を参照します。これは、定義時間に基づいてではなく、計算中の実行結果に基づいています。まずは例を見てみましょう

<?php
header("content-type:text/html;charset=utf-8");
class Human{
 public static function hei(){
 echo "我是父类的hei()方法";
 }
 public function say(){//如果子类调用父类的say()方法,则
 self::hei();//这里调用的是父类的hei()方法
 static::hei();
//这里调用子类的hei()方法,如果子类不存在hei()方法,则调用父类的
 }
}
class Stu extends Human{
 public static function hei(){
 echo "我是子类的hei()方法";
 }
}
 
$stu = new Stu();
$stu->say();
?>

説明:

(1) サブクラスがオブジェクト $stu をインスタンス化するとき、say メソッドが呼び出されるとき、それは親クラス Human で実行されるため、self::hei() Say() では親クラスのhei()メソッドを呼び出します。

(2) static::method name(): static キーワードを使用すると、まずサブクラスでメソッドが検索され、見つからない場合は親クラスで検索されます。

この記事が皆様の PHP プログラミング設計に役立つことを願っています。

PHP 遅延静的バインディング例分析に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。