ホームページ >バックエンド開発 >PHPの問題 >PHPで静的メソッドを継承する方法

PHPで静的メソッドを継承する方法

coldplay.xixi
coldplay.xixiオリジナル
2020-10-06 11:46:132615ブラウズ

php での静的メソッド継承の方法: オーバーライド関数を使用して継承します。コードは [function write(){echo 'I can be overriden!';}static function no_write()] です。

PHPで静的メソッドを継承する方法

php で静的メソッドを継承する方法:

以前、サブクラスが静的関数をオーバーライドできるかどうか疑問に思っていました。 . ということでテスト コードを書きました。コードは次のとおりです:

<?php
Class A
{
var $a=&#39;I/&#39;m A&#39;;
function write()
{
echo &#39;I can be overriden!<br />&#39;;
}
static function no_write()
{
echo &#39;Can I be overriden?<br />&#39;;
}
 
}
 
Class B extends A
{
function write()
{
echo &#39;Override from A successfully!<br />&#39;;
}
static function no_write()
{
echo &#39;Can I override successful?<br />&#39;;
}
}
$a=new A;
$a->write();
$a->no_write();
 
$b=new B;
echo $b->a.&#39;<br />&#39;;  //Attributes can be inherited
$b->write();
$b->no_write();       //static methods can be overriden
?>

実行結果は次のとおりです:

I can be overriden!
Can I be overriden?
I&#39;m A
Override from A successfully!
Can I override successful?

つまり、静的関数はサブクラスでオーバーライドできますが、Java ではオーバーライドできません。非常に明白なので、自分でさらにコードを書いてテストしてみます。 a

関連する無料学習の推奨事項: php プログラミング (ビデオ)

以上がPHPで静的メソッドを継承する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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