单例多态。

让我们假设我有棋盘的单例表示,由双维单元阵列组成。有时我希望这种表示被视为行板,有时是列,有时是网格,但这种情况下的每一种都必须在相同的底层单例板上工作


所以我有 4 个类要实现:


class CheesBoard : singleton consist of just a stright dd array of cells

class CheesBoardAsGrids : consist of that same cells but presented by grids

class CheesBoardAsRows : strigtforward as above but rows

class CheesBoardAsColumns : ... you already get it

而且我不知道它们之间应该建立什么样的关系才能使其最具可读性和可重用性


例如:我不能从 CheesBoard 继承,因为它是单身


慕尼黑8549860
浏览 113回答 1
1回答

aluckdog

单例,顾名思义,是一个你想被实例化不超过一次的对象。您可以创建抽象类 Board。该课程CheesBoardAsGrids,CheesBoardAsRows并CheesBoardAsColumns从这个类继承。CheesBoard 类应该包含 Board 变量。如果你想让你的单例用一些数据初始化,你可以在 getInstance 方法之后用数据加载它。CheesBoard 类应该包含 init 方法。此方法将获取 Board 参数并初始化 Board 变量:Board board = new CheesBoardAsGrids();CheesBoard singleton = CheesBoard.getInstance();singleton.init(board);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java