Factory Method 工厂模式
public class Document { void init(){}; void show(){}; void dump(){};}
public abstract class Application { protected Document doc; public abstract void createDocument(); public abstract void cleanDump(); public void createObjects() { //... createDocument(); }}
public class MyDocument extends Document { void init() { System.out.println("Init MyDocument"); } void show() { System.out.println("Show MyDocument"); } void dump() { System.out.println("Exit MyDocument"); }}
.
public class YourDocument extends Document { void init() { System.out.println("Init YourDocument"); } void show() { System.out.println("Show YourDocument"); } void dump() { System.out.println("Exit YourDocument"); }}
public class MyApplication extends Application { public MyApplication() { // } public void createDocument() { doc = new MyDocument(); doc.init(); doc.show(); } public void cleanDump() { doc.dump(); }}
.
public class YourApplication extends Application { public YourApplication() { // } public void createDocument() { doc = new YourDocument(); doc.init(); doc.show(); } public void cleanDump() { doc.dump(); }}
public class Client { public static void main(String args[]) { Application app = new MyApplication(); app.createObjects(); app.cleanDump(); app = new YourApplication(); app.createObjects(); app.cleanDump(); }}