[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2chのread.cgiへ]
Update time : 12/08 18:17 / Filesize : 160 KB / Number-of Response : 672
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【PHP】下らねぇ質問はID出して書き込みやがれ 131



243 名前:nobodyさん mailto:sage [2013/11/18(月) 15:12:26.33 ID:???]
>>239
PHPのような動的型付け言語(インタープリター)では、基本的にオーバーロード(多重定義)という仕組みはない。
PHPの場合オーバーロードを実現するために、func_get_argsなんかを使って条件分岐でやる必要がある。
ようは引数に渡す型の種類や引数の数は違えど、処理内容が同じになる場合とかに使うわけだけど、
何が嬉しいかというと、メソッド名(関数名)を1つだけ覚えとけばいいとか、メソッド名を考えるのに困らないとか、
まぁそんなところ。(多重定義否定派やそれがよくないと感じる人もいる)
オーバーロードを使わない場合、>>240のあげるtoStringは、
intToString($int)とかboolToString($bool)とか冗長な名前でごった返すことになる。
ただPHPではfunc_get_argsでやると複雑になるので、そういう実装を取る人も多い。

php.net/manual/ja/language.oop5.overloading.php
ここで書かれているPHPのオーバーロードというのは、
注釈にも書いてる通り他の言語のオーバーロードとは意味あいが違うので注意。






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<160KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef