设计模式(一):简单工厂实例

/**
 * 设计模式(一):简单工厂实例
 *
 * @author 修。
 * @version 1.0.0
 */
package day66;

/**
 *  Output接口,定义规范
 */
interface Output{
    void out();
    void getData(String data);
}

/**
 *  输出设备的生产工厂
 */
class OutputFactory{
    public static Output getOutput(){
        return new Printer();
    }
}

/**
 * 当Printer换成BetterPrinter后,只需让BetterPrinter实现Output接口,
 * 再把OutputFactory中的getOutput方法的返回值修改为new BetterPrinter()即可
 */
class Printer implements Output{
    @Override
    public void out() {
        System.out.println("Printer输出了");
    }
    @Override
    public void getData(String data) {
        System.out.println(data);
    }
}
public class Day661 {
    private Output out;
    public Day661(Output out){
        this.out=out;
    }
    public void myOut(){
        out.out();
    }
    public void myGetData(String data){
        out.getData(data);
    }

    public static void main(String[] args) {
        Day661 day = new Day661(OutputFactory.getOutput());
        day.myOut();
        day.myGetData("测试");
    }
}

梦还远,路还长!
原文地址:https://www.cnblogs.com/qujialin/p/10986990.html