ホームページ  >  記事  >  バックエンド開発  >  このようなプログラムを実装するにはどうすればよいですか

このようなプログラムを実装するにはどうすればよいですか

WBOY
WBOYオリジナル
2016-06-13 13:06:23957ブラウズ

このようなプログラムを実装するにはどうすればよいですか?

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->class ren
{
public function listing()
{
//code
}
public function listing($dd)
{
//code
}

}

などの 2 つのメソッドを 1 つのクラスに構築したいのですが、これは可能ですか?それとももっと良い方法があるのでしょうか?

-----解決策---------
PHP では 1 つの関数またはメソッド A のみが許可されます名前には定義があります。迂回することしかできません
class ren
{
private function _listing()
{
//code
}
public function listing($dd = null)
{
is_null($dd) && $this->_listing();
//code
}

}
(new ren())->リスト ();
------解決策---------
関数メ​​ソッドのオーバーロード?
申し訳ありませんが、php はサポートされていません。
php は動的 Web ページを作成するだけなので、それほど複雑にする必要はありません
もし php が C++ や Java と同じだったら、市場は存在しないと思います

しかしphp は、
func_get_arg
func_num_args
func_get_args
3 つの関数を提供します。これで問題は完全に解決されますが、自分でプログラムする必要があります。
------解決策---------
php はリロードをサポートしていません
実際には、多くの高級言語はオーバーロードをサポートしていません。C++ はオーバーロードに奇妙な方法 (コンパイラ レベル) を使用しているだけであり、オーバーロードはプログラムの読み取りに混乱を引き起こすと一般的に考えられています。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。