【初心者】Java質問・相談スレッド109【大歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0173デフォルトの名無しさん
2007/11/27(火) 23:01:29ああ、それなら関数のオーバーロード使えばできるよ(たぶん見にくいけど)
一つの関数の名前でA,B,Cそれぞれのクラスについて定義すればいい。
ただし、このメソッドはクラスのインスタンスの型ではなく、変数の型に合わせて呼ばれるから、
クラスAの変数にクラスBのインスタンスを入れたとしても、
void func(A a){〜}
void func(B b){〜}
A b_as_a = new B();
func(b_as_a); //<-呼ばれるのは上
となる。インスタンスの型によって処理を変えたいなら、ポリモーフィズムか前述のinstanceofしかない。
■ このスレッドは過去ログ倉庫に格納されています