各列挙型インスタンスのメソッドを定義できる方法を探しています。このページの下部にあるコード構成については、誰もが知っています。
私が探している違いは、コンパイル時に検証される個別のファイルで、列挙型ごとに1つ以上の抽象メソッドを定義できることです。つまり、誰かが別の列挙型インスタンスを追加した場合、このページの下部にある構造で発生する実行時エラーではなく、コンパイル時エラーが発生します。
リクエストの理由は、私が見ているコードの中には、列挙型ごとに定義する必要があるメソッドがたくさんあるが、列挙型の定義とは実際には無関係であるため、それらを別々のファイルに配置したいのですが、これを解決する「標準的な」方法。
public enum MyEnum {
X {
public void calc(Outer o) {
// do something
}
},
Y {
public void calc(Outer o) {
// do something
}
};
// abstract method
abstract void calc(Outer o);
}