设计模式(一):简单工厂实例
/**
* 设计模式(一):简单工厂实例
*
* @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("测试");
}
}
梦还远,路还长!