美文网首页
备忘录模式

备忘录模式

作者: 金煜博 | 来源:发表于2021-05-26 21:39 被阅读0次

    什么是备忘录模式

    将对象的内部属性的原状态保存到外部对象中,之后对象属性状态改变了也可以恢复到原来保存的状态

    示例图

    图片.png

    示例场景

    模拟存档游戏关卡

    示例代码

    1.创建File游戏存档类
    游戏存档类对关卡属性进行存档

    public class File {
        private String level;
    
        public File(String level) {
            this.level = level;
        }
    
        public String getLevel() {
            return level;
        }
    
        public void setLevel(String level) {
            this.level = level;
        }
    }
    

    2.创建GameLevel游戏关卡类
    游戏关卡类用于展示存档 获取关卡存档 存取关卡存档

    public class GameLevel {
        private String level;
    
        //存取当前关卡
        public File currentLevel(){
            return new File(level);
        }
    
    
        //获取存档
        public void getFile(File file){
            this.level =  file.getLevel();
        }
    
        //显示关卡
        public void showLevel(){
            System.out.println("当前关卡为:"+level);
        }
        public String getLevel() {
            return level;
        }
    
        public void setLevel(String level) {
            this.level = level;
        }
    }
    

    3.创建FileCaretaker游戏存档管理者
    管理者用于存取存档对象信息

    public class FileCaretaker {
        private File file;
    
        public File getFile() {
            return file;
        }
    
        public void setFile(File file) {
            this.file = file;
        }
    }
    

    4.创建client启动类

    public class Client {
        public static void main(String[] args) {
            GameLevel gameLevel = new GameLevel();
            gameLevel.setLevel("第一关");
            gameLevel.showLevel();
    
            //创建存档管理者
            FileCaretaker fileCaretaker = new FileCaretaker();
            //存档管理者获取当前存档信息
            fileCaretaker.setFile(gameLevel.currentLevel());
    
            //重新设置关卡
            gameLevel.setLevel("第三关");
            gameLevel.showLevel();
    
            //获取存档信息
            gameLevel.getFile(fileCaretaker.getFile());
            gameLevel.showLevel();
        }
    }
    

    5.运行结果


    图片.png

    相关文章

      网友评论

          本文标题:备忘录模式

          本文链接:https://www.haomeiwen.com/subject/jmdlsltx.html