如何将 Class 与其他 Class 的多个行为相关联?
How to associate a Class with more than one behavior with other Class?
我有一些对象在与游戏关联时同时需要两种类型的行为 Class。最好的方法是如何做到这一点?我在这里没有看到任何 GoF 模式可以提供帮助,但也许我的大脑超载了。
interface Actor {}
class Man implements Actor {}
class Woman implements Actor {}
class Game {
private Map<Actor> actors;
}
如何将 Player、Referee 或 LineJudge 行为包含到此代码中?
示例:
游戏 1,演员 1 女士和裁判,演员 2 女士和球员
游戏 2,演员 1 女人和玩家,演员 2 男人和玩家
游戏 3,演员 1 男人和球员,演员 2 男人和裁判,演员 3 女人和裁判
...
有几种可能的解决方案。我会给出我认为最有可能符合您要求的选项,但还有更多可能的解决方案。最适合您的情况取决于您需要实现的确切功能。
Game中一个集合,Actor中两个属性
您可以定义一个具有两个属性的 class Actor,一个是 Person 类型,可以是 Man 或 Woman,另一个是 Participant 类型,可以是 Player、Referee 或 LineJudge。
游戏中的三个合集
您可以在 class 游戏中定义三个 Actor 集合,而不是一个,一个对应一个 actor 在游戏中扮演的每个角色。好吧,如果只有一个Referee,那就不是真正的合集了。
我有一些对象在与游戏关联时同时需要两种类型的行为 Class。最好的方法是如何做到这一点?我在这里没有看到任何 GoF 模式可以提供帮助,但也许我的大脑超载了。
interface Actor {}
class Man implements Actor {}
class Woman implements Actor {}
class Game {
private Map<Actor> actors;
}
如何将 Player、Referee 或 LineJudge 行为包含到此代码中?
示例:
游戏 1,演员 1 女士和裁判,演员 2 女士和球员
游戏 2,演员 1 女人和玩家,演员 2 男人和玩家
游戏 3,演员 1 男人和球员,演员 2 男人和裁判,演员 3 女人和裁判
...
有几种可能的解决方案。我会给出我认为最有可能符合您要求的选项,但还有更多可能的解决方案。最适合您的情况取决于您需要实现的确切功能。
Game中一个集合,Actor中两个属性
您可以定义一个具有两个属性的 class Actor,一个是 Person 类型,可以是 Man 或 Woman,另一个是 Participant 类型,可以是 Player、Referee 或 LineJudge。
游戏中的三个合集
您可以在 class 游戏中定义三个 Actor 集合,而不是一个,一个对应一个 actor 在游戏中扮演的每个角色。好吧,如果只有一个Referee,那就不是真正的合集了。