鱼C论坛

 找回密码
 立即注册
查看: 2970|回复: 1

[学习笔记] 状态模式

[复制链接]
发表于 2019-7-22 16:47:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

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

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

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

游客,如果您要查看本帖隐藏内容请回复
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-22 17:12:02 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-15 18:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表