ホームページ  >  記事  >  バックエンド開発  >  PHP のオーバーロードとリライトの違いは何ですか? オーバーロードと他の言語 (Java など) の違いは何ですか?

PHP のオーバーロードとリライトの違いは何ですか? オーバーロードと他の言語 (Java など) の違いは何ですか?

WBOY
WBOYオリジナル
2016-08-04 09:20:43823ブラウズ

質問:
PHPマニュアルのオーバーロードに関する内容は次のとおりです: PHPが提供する「オーバーロード」とは、クラスの属性とメソッドを動的に「作成」することを指します。
私たちは魔法の方法でそれを行います。
__call($funcname, $arguments)、__callStatic($funcname, $arguments) など

JAVA言語におけるオーバーロードとは、名前は同じでもパラメータや定義が異なる複数のメソッドを作成できることを意味します。

メソッドを呼び出すときは、メソッドに渡されるパラメータの数と種類に基づいて、どのメソッドを使用するかを決定します。

質問: PHP と Java ではオーバーロードの概念に間違いなく違いがありますが、本当の違いは何なのかわかりません。

返信内容:

質問:
PHPマニュアルのオーバーロードに関する内容は次のとおりです: PHPが提供する「オーバーロード」とは、クラスの属性とメソッドを動的に「作成」することを指します。
私たちは魔法の方法でそれを行います。
__call($funcname, $arguments)、__callStatic($funcname, $arguments) など

JAVA言語におけるオーバーロードとは、名前は同じでもパラメータや定義が異なる複数のメソッドを作成できることを意味します。

メソッドを呼び出すときは、メソッドに渡されるパラメータの数と種類に基づいて、どのメソッドを使用するかを決定します。

質問: PHP と Java ではオーバーロードの概念に間違いなく違いがありますが、本当の違いは何なのかわかりません。

Java は厳密に型指定されています

リーリー

PHP のいわゆるオーバーロードは、いくつかの魔法のメソッドを同様に書き直すだけです
コメントには良い言葉があります

この記事では、このテクニックを「インタープリターフック」と呼ぶことにします。

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