软件设计实验二十

源码:

JAVA

package rjsj.no20;

 

public class Client {

    public static void main(String[] args) {

        User user = new User();

        Caretaker caretaker = new Caretaker();

 

        user.setId("20193288");

        user.setPassword("123456");

        caretaker.setMemo(user.saveState());

        System.out.println("״̬һ");

        user.show();

        System.out.println("************************************************************");

 

        user.setId("20193288");

        user.setPassword("qwerasdfzxcv");

        caretaker.setMemo(user.saveState());

        System.out.println("״̬¶þ");

        user.show();

        System.out.println("************************************************************");

 

        user.setId("20183288");

        user.setPassword("66666666");

        caretaker.setMemo(user.saveState());

        System.out.println("״̬Ƚ");

        user.show();

        System.out.println("************************************************************");

 

        System.out.println("ְ²½³·Ϻ²ٗ÷£º");

        System.out.println("»ָ´µ½״̬¶þ");

        user.restoreState(caretaker.getMemo());

        user.show();

        System.out.println("************************************************************");

 

        System.out.println("»ָ´µ½״̬һ");

        user.restoreState(caretaker.getMemo());

        user.show();

    }

}

package rjsj.no20;

 

public class Memo {

    private String id;

    private String password;

 

    public Memo(String id, String password) {

        this.id = id;

        this.password = password;

    }

 

    public String getId() {

        return id;

    }

 

    public void setId(String id) {

        this.id = id;

    }

 

    public String getPassword() {

        return password;

    }

 

    public void setPassword(String password) {

        this.password = password;

    }

}

package rjsj.no20;

 

public class User {

    private String id;

    private String password;

 

    public String getId() {

        return id;

    }

 

    public void setId(String id) {

        this.id = id;

    }

 

    public String getPassword() {

        return password;

    }

 

    public void setPassword(String password) {

        this.password = password;

    }

 

    public Memo saveState(){

        return new Memo(id,password);

    }

 

    public void restoreState(Memo m){

        this.id = m.getId();

        this.password = m.getPassword();

    }

 

    public void show(){

        System.out.println("id:" + this.id);

        System.out.println("password:" + this.password);

    }

}

package rjsj.no20;

 

import java.util.ArrayList;

import java.util.List;

 

public class Caretaker {

    private List<Memo> list = new ArrayList<>();

 

    public void setMemo(Memo m){

        list.add(m);

    }

 

    public Memo getMemo(){

        Memo m = list.get( list.size() - 2 );

        list.remove( list.size() - 2 );

        return m;

    }

}

 

posted @   芊羽鱼  阅读(2)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示