分类: Java
2009-03-31 17:13:21

public abstract class AbstractEditor {
private IDocument document;
public abstract IDocument createDocument();
public void newDocument() {
document = createDocument();
document.open();
}
public void saveDocument() {
if(document != null)
document.save();
}
public void closeDocument() {
if(document != null)
document.close();
}
}
public interface IDocument {
public void open();
public void save();
public void close();
}
public class RTFEditor extends AbstractEditor {
public IDocument createDocument() {
return new RTFDocument();
}
}
public class RTFDocument implements IDocument {
public RTFDocument() {
System.out.println("建立RTF文件");
}
public void open() {
System.out.println("开启文件");
}
public void save() {
System.out.println("储存文件");
}
public void close() {
System.out.println("关闭文件");
}
}