【发布时间】:2012-03-03 05:23:03
【问题描述】:
我不知道我是否选择了一个好的标题,但我正在开发一个简单的卡牌游戏,这是我的场景:
我有一个名为 Player 的类,并且我从 Player 实例化了几个对象(比如说 4 个)。在每一轮游戏中,我们都有一种特殊类型的玩家,可以说 SpecialPlayer,在每一轮中,这 4 名玩家中的一个都可以成为 SpecialPlayer。
SpecialPlayer 是一个简单的播放器,而且它可以做更多的事情,比如暂停/重启游戏。所以我从 Player 继承并创建了 SpecialPlayer 并向该类添加了 2 个方法。 问题是,当我实例化 SpecialPlayer 时,我将有另一个对象加上这 4 个玩家对象,没关系,但我希望能够更改 SpecialPlayer 中的属性并查看该回合中作为 SpecialPlayer 的 Player 对象的效果
例如每个 Player can Score points ,我想看到 SpecialPlayer 得分并更改分数及其对 Player 对象的影响。
这里的继承是错的吗?我必须在 SpecialPlayer 类中编写 Player 类吗?
如果它可能改变答案,我不得不说我正在使用 Ruby。
【问题讨论】:
标签: ruby oop inheritance composition aggregation