java工厂方法模式

工厂方法模式

定义一个用于创建对象的接口,让子类决定实例化哪一个类,Factory Method使一个雷的实例化延迟到其子类。

public interfaceExportFileApi {

publicbooleanexport(String data);

}

 

public classExportTxtFile implementsExportFileApi{

 

@Override

publicbooleanexport(String data) {

//TODO Auto-generated methodstub

System.out.println(“ExportTxtFile”);

returntrue;

}

 

}

 

public classExportDB implementsExportFileApi{

 

@Override

publicboolean export(String data) {

//TODO Auto-generated methodstub

System.out.println(“ExportDB”);

returntrue;

}

 

}

 

public abstractclass ExportOperate {

publicbooleanexport(String data){

ExportFileApi api = factoryMethod();

returnapi.export(data);

}

protectedabstractExportFileApi factoryMethod();

}

public classExportTxtFileOperate extendsExportOperate{

 

@Override

protectedExportFileApi factoryMethod() {

//TODO Auto-generated methodstub

returnnew ExportTxtFile();

}

}

 

public classExportDBOperate extendsExportOperate{

 

@Override

protectedExportFileApi factoryMethod() {

//TODO Auto-generated methodstub

returnnew ExportDB();

}

 

}

 

public classClient {

publicstatic void main(String[] args){

ExportOperate operate = new ExportDBOperate();

operate.export(“test”);

}

}

Output:

ExportDB

标签