软件设计之工厂方法模式

类图

代码

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加密算法");
    }
}

运行结果

 

posted @ 2023-10-26 20:31  辞楠  阅读(15)  评论(0)    收藏  举报