4

JavaのようにScala 3 enumのメソッドをオーバーライドする方法はありますか?

public enum Test {

    ONE {
        @Override
        public int calc() {
            return 1;
        }
    },
    TWO {
        @Override
        public int calc() {
            return 2;
        }
    };

    public abstract int calc();
}

私はこのようなことを試みましたが、結果はありません。また、ドキュメントでオーバーライドされている enum メソッドについても何も見つかりませんでした。

enum Test {
  def calc(): Int ={
    0
  }
  case One
    override def calc(): Int ={
      1
    }
  case Two
    override def calc(): Int ={
      2
    }
}

同様の機能を実現する別の方法があるのではないでしょうか?

4

3 に答える 3