我正在开发MineSweeper。在那我有3个包裹。1.frontEnd 2.backEnd 3.mineSweeperControl。
mineSweeperControl包含一个实现 ActionListener的类 ActionSplicer 。在前端我有一个 JBUTTONS 数组和一个ActionSplicer对象数组,这样splicerobj[i][j] 监听按钮 [i][j]。(一对一对应)
backEnd包含一个对象数组,这样object[i][j] 具有 button[i][j] 的背景细节,例如 MineValue、isCellEmpty、isCellFlagged 等...
方法doBackgroundAction(i,j){..} 在类 BackEndManager中定义。在ActionSplicer的actionPerformed中,我调用doBackgroundAction(i,j)以便前景的任何变化也会影响背景。
我的问题在哪里?
doBackGroundAction (i,j)需要公开,因为它在不同的包中调用。
但我不希望任何方法公开,因为它可能会降低灵活性,然后任何人都可以更改属性的值。
我无法扩展 BackEndManager 类,因为我在前端创建了一组 ActionSplicer 对象。
因此,我需要一些关于声明 doBackGroundAction(i,j) 的指导。在某些不可避免的情况下将方法声明为公共是否是正确的方法?或者如何更改我的设计以保留具有默认可见性的方法。