DAY 发表于 2019-7-22 16:47:03

状态模式

请编写程序完成APP抽象活动,具体要求如下:
    1.假如每参加一次这个活动要扣除用户50积分,中奖概率是10%
    2.奖品数量固定,抽完就不能抽奖
    3.活动有四个状态:可以抽奖、不能抽奖、发放奖品和奖品领完
    4.活动的四个状态转换关系图

状态模式基本介绍
    1.状态模式:主要用来解决对象在多种状态转换时,需要对外输出不同的行为的问题,状态
    和行为是一一对应的,状态之间可以相互转换
    2.当一个对象的内在状态改变时候,允许改变其行为,这个对象看起来,像是改变了其类

状态模式的原理类图
    对原理类图的说明-即(状态模式的角色以及职责)
      1.Context类为环境角色,用于维护State实例
      这个实例定义当前的状态
      2.State是抽象的状态角色,定义一个接口封装与Context的一个特点接口
      相关行为
      3.ConcreteState具体的状态角色,每个子类实现一个与Context的一个状态相关行为

状态模式解决APP抽奖问题
    1.应用实例要求
    完成APP抽奖活动项目,使用状态模式
    2.思路分析和图解
    定义出一个接口叫状态接口,每个状态都实现它,
    接口有扣除积分方法,抽奖方法,发放奖品方法
    3.代码实现

**** Hidden Message *****

情缘丶夜未央 发表于 2020-7-22 17:12:02

{:5_102:}
页: [1]
查看完整版本: 状态模式