You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
695 B
34 lines
695 B
// 报表接口
|
|
interface Report {
|
|
void generate();
|
|
}
|
|
|
|
// PDF实现类
|
|
class PdfReport implements Report {
|
|
@Override
|
|
public void generate() {
|
|
System.out.println("生成 PDF");
|
|
}
|
|
}
|
|
|
|
// Excel实现类
|
|
class ExcelReport implements Report {
|
|
@Override
|
|
public void generate() {
|
|
System.out.println("生成 Excel");
|
|
}
|
|
}
|
|
|
|
// 原有报表生成器 改造后
|
|
public class ReportGenerator {
|
|
public void generate(Report report) {
|
|
report.generate();
|
|
}
|
|
|
|
// 测试
|
|
public static void main(String[] args) {
|
|
ReportGenerator rg = new ReportGenerator();
|
|
rg.generate(new PdfReport());
|
|
rg.generate(new ExcelReport());
|
|
}
|
|
}
|