//设计模式之备忘录模式(月光宝盒版),只要喊菠萝菠萝蜜,就能返回事件的原点。//至尊宝//爱你一万年
class LoverWords {// 模拟Memento
    private String words;

public LoverWords(String words) {
        super();
        this.words = words;
    }

public String getWords() {
        return words;
    }

public void setWords(String words) {
        this.words = words;
    }

}
//月光宝盒
class YueGuangBaOHe {// 模拟Caretaker 守护者

    LoverWords words;

public LoverWords getWords() {
        return words;
    }

public void setWords(LoverWords words) {
        this.words = words;
    }

}

class ZJB {// //至尊宝//模拟Originator
    private String words;

public String getWords() {
        return words;
    }

public void setWords(String words) {
        this.words = words;
    }

public LoverWords SayLoverWords() {
        return new LoverWords(words);
    }
    
    public void SaveWhatIhaveSaied(LoverWords loverwords)
    {
        this.words = loverwords.getWords();
    }
    public void Show()
    {
        System.out.println("对话:"+words);
    }

}

public class CopyOfYGBHDemoXXX {

public static void main(String[] args) {
        ZJB zjb = new ZJB();
        zjb.setWords("姑娘,抢个鸡蛋");
        zjb.Show();
        
        YueGuangBaOHe ygbh = new YueGuangBaOHe();
        ygbh.setWords(zjb.SayLoverWords());////月光宝盒记录 (保存)至尊宝以前说过的话
        
        zjb.setWords("姑娘,劫个色吧!");
        zjb.Show();
        
        System.out.println("旁白:劫个色呢,多大个事,我以为抢鸡蛋呢!");
        //至尊宝,后悔了,收回刚才说的那一句、
        System.out.println("旁白:至尊宝,后悔了,收回刚才说的那一句");
        zjb.SaveWhatIhaveSaied(ygbh.getWords());
        zjb.Show();
        
        
    }

}
-------------测试------------
对话:姑娘,抢个鸡蛋
对话:姑娘,劫个色吧!
旁白:劫个色呢,多大个事,我以为抢鸡蛋呢!
旁白:至尊宝,后悔了,收回刚才说的那一句
对话:姑娘,抢个鸡蛋

转载于:https://www.cnblogs.com/alamps/archive/2012/05/27/2520312.html

Alamps学习设计模式之备忘录模式(笑话:劫个色OR抢个鸡蛋版)相关推荐

  1. java备忘录模式应用场景_图解Java设计模式之备忘录模式

    图解Java设计模式之备忘录模式 游戏角色状态恢复问题 游戏角色有攻击力和防御力,在大战Boss前保存自身的状态(攻击力和防御力),当大战Boss后攻击力和防御力下降,从备忘录对象恢复到大战前的状态. ...

  2. java之备忘录模式,java设计模式之备忘录模式

    java设计模式之备忘录模式 代码无错便是优? 简介: 在不破坏封装性的前提下 , 捕获一个对象的内部状态,并在该对象之外保存这个状态 , 这样以后就可以将该对象恢复到原先保存的状态 . 备忘录模式就 ...

  3. 设计模式之备忘录模式 转载

    https://juejin.im/post/59c8eb6951882564c5164c5f 设计模式之备忘录模式 备忘录模式 介绍 是一种行为模式 用于保存对象当前状态,并在之后恢复到此状态(后悔 ...

  4. java备忘录模式 类图,Android编程设计模式之备忘录模式详解

    本文实例讲述了Android编程设计模式之备忘录模式.分享给大家供大家参考,具体如下: 一.介绍 备忘录模式是一种行为模式,该模式用于保存对象当前状态,并且在之后可以再次恢复到此状态,这有点像我们平时 ...

  5. 设计模式学习笔记--Memento 备忘录模式

    在软件的构建过程中,某些对象的状态在转换过程中,可能由于某种需要,要求程序能够回溯到对象之前某个点时的状态,如果使用一些公有接口来让其他对象得到对象的状态,便会暴露对象的细节实现.      如何实现 ...

  6. 设计模式学习笔记:备忘录模式(Memento)

    文章目录 一.备忘录模式简介 二.适应场景 三.示例演示 四.测试示例 拥有乐观的心态很重要,它能让工作和生活更加美好. 一.备忘录模式简介 备忘录模式是设计模式中行为型模式的一种.备忘录模式用于保存 ...

  7. php设计一个盒子类代码_PHP设计模式之备忘录模式(Memento)代码实例大全(25)...

    目的[1] 它提供了在不破坏封装(对象不需要具有返回当前状态的函数)的情况下恢复到之前状态(使用回滚)或者获取对象的内部状态. 备忘录模式使用 3 个类来实现:Originator,Caretaker ...

  8. 23种设计模式之---备忘录模式

    前言 网上搜索备忘录设计模式,基本上均是在一个GoF,基础上衍生下来的.为了避免重复造轮子,这里会结合网上demo,和自己理解进行总结 定义:备忘录(Memento)模式又称标记(Token)模式.G ...

  9. 在王者荣耀角度下分析面向对象程序设计B中23种设计模式之备忘录模式

    · 备忘录模式在王者荣耀中的应用 · 一.简述 在王者荣耀的游戏中,贤者的庇护这件装备设计的初衷是提高容错率,常常出现在游戏后期,玩家通过装备贤者的庇护在危急时刻可以实现复活效果,进而保命. 二.备忘 ...

最新文章

  1. 【C语言】libiniparser库使用例子,
  2. TypeScript 初识
  3. i2c Linux 动态 波特率,如何在Linux中设置i2c总线的波特率?
  4. java课程设计进程管理_GitHub - Shadow-Java/OS: 操作系统课程设计,关键词:进程同步与互斥、进程死锁、LRU页面替换算法、时间片轮转算法、时钟等...
  5. app.config 配置的一种用法
  6. ios UITableView顶部向下偏移
  7. linux --- 基础指令
  8. [Android] 输入系统(二)
  9. file对象怎么才会有值_怎么去聊天女生才会跟你约会
  10. 浏览器导入和导出cookie
  11. pandas 日期比较大小_计算pandas Dataframe中的日期时间差异
  12. 如何将本地应用制作成docker镜像
  13. dnf超时空漩涡副本路线流程图_dnf怎么打超时空漩涡 dnf超时空漩涡打法攻略
  14. PHP在线客服系统之小程序客服搭建教程
  15. 郭金东金浦集团荣登“2019中国民营企业500强”和“2019中国民营企业制造业500强”榜单
  16. photoshop ps 瘦身方法 液化工具
  17. 《CTF竞赛权威指南》|Off-By-One
  18. 【题解】Luogu-P5303 [GXOI/GZOI2019]逼死强迫症
  19. 常见的产品生命周期模型
  20. 台式电脑c语言如何安装,体验篇—Type-C如何连接电脑_固态硬盘评测-中关村在线...

热门文章

  1. 2022擎创夏洛克AIOps智慧运营平台白皮书正式发布!
  2. Java后端开发面试7大核心总结,为你保驾护航金九银十!
  3. 次要和主要等位基因的定义
  4. torch.roll() 用法解读
  5. (附源码)ssm产品裂变管理系统 毕业设计 100953
  6. 智能盆栽养花,不一样的养殖趣味
  7. 2021手机试玩平台《手赚网》源码
  8. 【8082端口被占用】
  9. 最新 跟我学spring3 电子书下载
  10. win10超级用户(Aministrators)删除后出现你要允许此应用对你的设备进行更改吗 ? 点开只有否。/提升你账户为超级账户(Aministrators)