輕松控制Java備忘錄形式。本站提示廣大學習愛好者:(輕松控制Java備忘錄形式)文章只能為提供參考,不一定能成為您想要的結果。以下是輕松控制Java備忘錄形式正文
界說:保留一個對象的某個狀況,以便在恰當的時刻恢復對象
特色:
1、給用戶供給了一種可以恢復狀況的機制,可使用戶可以或許比擬便利地回到某個汗青的狀況。
2、完成了信息的封裝,使得用戶不須要關懷狀況的保留細節。
企業級運用和經常使用框架中的運用:罕見文本編纂器應用了該形式
實例:
留意:該實例中只要撤消操作,沒有向前復原操作
/**
* 目的對象:將要被備忘的對象
*/
class Word {
private String content;
private String image;
private String table;
public Word(String content, String image, String table) {
super();
this.content = content;
this.image = image;
this.table = table;
}
public WordMemento memento(){
return new WordMemento(this);
}
public void recovery(WordMemento memento){
this.content = memento.getContent();
this.image = memento.getImage();
this.table = memento.getTable();
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
public String getTable() {
return table;
}
public void setTable(String table) {
this.table = table;
}
}
/**
* 備忘錄對象
*/
class WordMemento{
private String content;
private String image;
private String table;
public WordMemento(Word word) {
this.content = word.getContent();
this.image = word.getImage();
this.table = word.getTable();
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
public String getTable() {
return table;
}
public void setTable(String table) {
this.table = table;
}
}
/**
* 擔任人對象:擔任記載備忘錄對象
*/
class CareTaker{
private List<WordMemento> list = new ArrayList<>();
private int index = 0;
public void setMemento(WordMemento memento){
list.add(memento);
this.index = list.size();
}
public WordMemento getWordMemento(){
if(index == 0){
System.out.println("沒有可復原的內容");
return null;
}
WordMemento memento = list.get(index-1);
list.remove(index-1);
index--;
return memento;
}
}
以上就是本文的全體內容,願望對年夜家的進修有所贊助,也願望年夜家多多支撐。