足球战术->球员状态之state篇

接上回:

http://www.csdn.net/develop/read_article.asp?id=11330

在比赛时根据球员的状态来决定他的表现,
可以使用state模式。其中球队是context,
球员是state,教练是client。好处是将特定
状态相关的行为局部化,并且将不同状态的
行为分割开来;使得状态转换显示化;而且
球员可以被多个教练(client)共享。
代码如下:
class 球队{
public:
    球队();
private:
    friend class 球员;
    void 改变状态(球员*);
private:
     球员* _状态;
};

class 球员{
public:
     //所有操作
protected:
     void 改变状态(球队*,球员*);
};

class 球员状态不佳:public 球员{
public:
    static 球员* 实例();

    virtual void 坐冷板凳(球队*);
};

class 球员状态很好:public 球员{
public:
    static 球员* 实例();

    virtual void 上场首发(球队*);
};

  • 0
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

xxcc

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值