★★Java質問・相談スレッド159★★
■ このスレッドは過去ログ倉庫に格納されています
0294デフォルトの名無しさん
2013/02/04(月) 23:28:52.35インスタンス化したときの引数によって使えるメソッドを制限したいんだけどどうすればいいかな
public Human(Type type) {}
public enum Type {
WALK, RUN, SLEEP
}
public void move(Type type) {
switch(type) {
case WALK:
...
break;
case RUN:
...
break;
}
}
どうしてもこういう設計にしたい理由があって、HumanのインスタンスをSLEEPでnewしたときにmoveメソッドがコードアシストに出てきて気持ち悪い
switch文にdefaultいれてエラーにするって方法もあるけどやはり気持ち悪い。
SLEEPをenumから分けることはできればしたくない。
■ このスレッドは過去ログ倉庫に格納されています