質問:
PHPマニュアルのオーバーロードに関する内容は次のとおりです: PHPが提供する「オーバーロード」とは、クラスの属性とメソッドを動的に「作成」することを指します。
私たちは魔法の方法でそれを行います。
__call($funcname, $arguments)、__callStatic($funcname, $arguments) など
JAVA言語におけるオーバーロードとは、名前は同じでもパラメータや定義が異なる複数のメソッドを作成できることを意味します。
メソッドを呼び出すときは、メソッドに渡されるパラメータの数と種類に基づいて、どのメソッドを使用するかを決定します。
質問: PHP と Java ではオーバーロードの概念に間違いなく違いがありますが、本当の違いは何なのかわかりません。
質問:
PHPマニュアルのオーバーロードに関する内容は次のとおりです: PHPが提供する「オーバーロード」とは、クラスの属性とメソッドを動的に「作成」することを指します。
私たちは魔法の方法でそれを行います。
__call($funcname, $arguments)、__callStatic($funcname, $arguments) など
JAVA言語におけるオーバーロードとは、名前は同じでもパラメータや定義が異なる複数のメソッドを作成できることを意味します。
メソッドを呼び出すときは、メソッドに渡されるパラメータの数と種類に基づいて、どのメソッドを使用するかを決定します。
質問: PHP と Java ではオーバーロードの概念に間違いなく違いがありますが、本当の違いは何なのかわかりません。
Java は厳密に型指定されています
リーリーPHP のいわゆるオーバーロードは、いくつかの魔法のメソッドを同様に書き直すだけです
コメントには良い言葉があります
この記事では、このテクニックを「インタープリターフック」と呼ぶことにします。