首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

抽象工场模式【ABSTRACT FACTORY PATTERN】 a

2012-09-27 
抽象工厂模式【ABSTRACT FACTORY PATTERN】 aimport java.io.FileWriterimport java.io.IOExceptionimport

抽象工厂模式【ABSTRACT FACTORY PATTERN】 a
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.util.Vector;

 public abstract class Factory{    public static Factory getFactory(String classname)    {        Factory factory = null;        try        {            factory = (Factory)Class.forName(classname).newInstance();        }        catch (ClassNotFoundException e)        {            System.err.println(classname + e.getMessage());        }        catch (Exception e)        {            e.printStackTrace();        }        return factory;    }        public abstract Link createLink(String caption, String url);        public abstract Tray createTray(String caption);        public abstract Page createPage(String title, String author);}

 public abstract class Item{    protected String caption;        public Item(String caption)    {        this.caption = caption;    }        public abstract String makeHTML();}

  public abstract class Link extends Item{    protected String url;        public Link(String caption, String url)    {        super(caption);        this.url = url;    }}


  public abstract class Page {    protected String title;    protected String author;    protected Vector content = new Vector();    public Page(String title, String author) {        this.title = title;        this.author = author;    }    public void add(Item item) {        content.add(item);    }    public void output() {        try {            String filename = title + ".html";            Writer writer = new FileWriter(filename);            writer.write(this.makeHTML());            writer.close();            System.out.println(filename + "  createm over");        } catch (IOException e) {            e.printStackTrace();        }    }    public abstract String makeHTML();}


  public abstract class Tray extends Item {    protected Vector tray = new Vector();    public Tray(String caption) {        super(caption);    }    public void add(Item item) {        tray.add(item);    }}

热点排行