使用单例对象

时间:2015-06-23 16:41:47

标签: java oop inheritance singleton

我正在尝试制作纸牌游戏套牌制作者。

我使用JavaFX和已建立的数据类(DeckCardCharacter类)制作了几个场景。通过在每个场景控制器中使用Deck类Singleton,我可以访问相同的Deck对象。

与此同时,我需要另外一个Deck的对象,我可以将所有卡片保留在其中。我通过扩展AllCardsDeck类创建了一个类Deck。使用这种方法,我可以制作AllCardsDeck的对象并保持常规玩家的牌组分开吗?

另外,当我创建AllCardsDeck的对象时,它是否会影响具有单例模式的父类Deck

2 个答案:

答案 0 :(得分:2)

你似乎不需要两个不同的课程;甲板是甲板。您应该有一个Deck类,其中包含两个实例:currentDeskallCards

所以你只需要构造一个只被实例化两次的类(不是单例 - 一个doubleton?)。原则完全相同,没有必要准确地应用模式,特别是对于Singleton,只是为了尊重这个想法。

答案 1 :(得分:1)

作为其名称和Wikipedia状态,Singleton Pattern意味着您只会创建Deck对象的一个实例。如果您创建两个或更多实例,那么它将不会成为单身人士。

在这个问题中,您需要一个套牌,以允许玩家为每个玩家绘制卡片和类似手类的东西,因为它是每个玩家的地方他们保留自己的卡片。

这样你就可以让你的Deck单身人士工作(比如游戏中只有一个迷宫)和每个玩家的手牌。它们是分开的东西,应该被视为那样。