软件设计之工厂方法模式
类图

代码
package test; import java.util.Scanner; public class Test2 { public static void main(String[] args) { System.out.println("请输入你选择的算法"); Scanner sc=new Scanner(System.in); String type=sc.next(); switch (type) { case "DES":Factory factoryDES=new FactoryDES();Algorithm algorithmDES=factoryDES.create();algorithmDES.info();break; case "IDEA":Factory factoryIDEA=new FactoryIDEA();Algorithm algorithmIDEA=factoryIDEA.create();algorithmIDEA.info();break; } } } interface Factory{ public Algorithm create(); } class FactoryDES implements Factory{ @Override public Algorithm create() { Algorithm algorithm=new DES(); return algorithm; } } class FactoryIDEA implements Factory{ @Override public Algorithm create() { Algorithm algorithm=new IDEA(); return algorithm; } } interface Algorithm{ public void info(); } class DES implements Algorithm{ @Override public void info() { System.out.println("这是DES加密算法"); } } class IDEA implements Algorithm{ @Override public void info() { System.out.println("这是IDEA加密算法"); } }
运行结果


浙公网安备 33010602011771号