[PHP-users 18571]Re: 引数有り関数、引数無し関数の見分け方

ISIGE, Akira xia @ silvia.com
2003年 10月 23日 (木) 16:31:07 JST


いしげ です.

Thu, 23 Oct 2003 16:10:05 +0900 の
JJ <jj @ sann.ne.jp> 様のメールより.

> 関数をコールする前に調べたいという前提条件があるため、

この前提条件がどうして発生したのかの詳細を書いていただければ,
何か他の方法がみつかる可能性があるかと思いますが...


Test クラスから,それを extend する ChildTest1 と,
それとは別の実装である ChildTest2 のふたつのクラスを作り,
ChildTest1::func1() は引数なし,ChildTest2::func1() は引数あり,
で,Test::main() からどちらかの func1() を呼ぶ,という
シチュエーションなのですよね?


ChildTest* のコード実装をいじれる立場なのであれば,
ChildTest1::func1() の方もとりあえず引数を取るようにしてしまい,
Test::main() から呼ぶ時には無差別に引数を与えてやる,
という仕様ではいかが?(美しくないですが,動きます(笑)

ChildTest* のそれぞれの実装に著しく隔たりがある場合であれば,
func1() を直接にコールせず,共通インタフェースとなる funcX() を
それぞれのクラスに実装し,そこの中からうまいこと func1() を
コールするようにすれば良いと思いますが,
それで良いのであれば今回の問題は発生しない気もしますが... :-)


------------
ISIGE, Akira



PHP-users メーリングリストの案内