Java 我怎样才能使按钮在继承之后做相同的事情和一些其他事情?

Java 我怎样才能使按钮在继承之后做相同的事情和一些其他事情?,java,user-interface,inheritance,Java,User Interface,Inheritance,我正在使用GUI用Java实现Tic-Tac-Toe游戏。 我有一个名为、、board“”的类,它基本上创建了一个带有按钮的板。游戏必须有3个不同的状态,所以我有3个其他类: 玩家对玩家 玩家对Ai 人工智能vs人工智能 在board类之后继承的 我必须在每个类中重写actionPerformed方法(例如,更改Ai而不是玩家的按钮的使用),但用于更改游戏类型的按钮必须执行相同的操作(用户可以使用适当的按钮自由更改游戏类型) 我使用dispose()更改游戏类型,新窗口将根据游戏类型使用其他

我正在使用GUI用Java实现Tic-Tac-Toe游戏。
我有一个名为、、board“”的类,它基本上创建了一个带有按钮的板。游戏必须有3个不同的状态,所以我有3个其他类:

  • 玩家对玩家
  • 玩家对Ai
  • 人工智能vs人工智能
在board类之后继承的

我必须在每个类中重写actionPerformed方法(例如,更改Ai而不是玩家的按钮的使用),但用于更改游戏类型的按钮必须执行相同的操作(用户可以使用适当的按钮自由更改游戏类型)

我使用dispose()更改游戏类型,新窗口将根据游戏类型使用其他规则呈现。尽管我可以在board类中执行一次,但当我创建PlayerVsPlayer对象时,actionPerformed方法将被重写,并且我不再可以在board类中的适当对象上使用dispose()

那么问题来了:
我怎样才能让一些按钮做同样的事情(选择游戏类型),其中一些按钮可以被覆盖并以其他方式使用?我可以在3个不同的类中实现相同的代码3次,但我不想这样做,有什么不同的方法吗?

  • 您可以在单独的类中的单独方法中对计算进行编码,并将属性作为参数发送。但是直接操作GUI更容易在GUI类中实现它们。继承也可以在玩家和AI之间实现,这取决于他们共享多少功能

  • 另一个想法是使用一个GUI类,而不是3个GUI类(玩家对玩家、玩家对Ai、Ai对Ai)