软件设计:简单工厂模式

发布时间 2023-12-02 16:23:18作者: 神行乌龟

类图:

源代码:

package com.ittest.test2;

public class Man implements Person{
    public Man() {

    }
    public void make(){

        System.out.print("生产男人");

    }

}
package com.ittest.test2;

public class Nvwa {

    public Nvwa() {

    }

    public static  Person Personjudge(String arg ) {
        //判断参数,再选择调用哪个类
        if(arg.equalsIgnoreCase("M"))
        {
            return new Man();
        }else if(arg.equalsIgnoreCase("W"))
        {
            return new Woman();
        }else if(arg.equalsIgnoreCase("R"))
        {
            return new Robot();
        }else
        {
            return null;
        }
    }

}
package com.ittest.test2;

public interface Person {
    public void make();

}
package com.ittest.test2;

public class Robot implements Person{
    public Robot() {
    }

    public void make(){

        System.out.print("生产机器人");

    }

}

package com.ittest.test2;

import java.util.Scanner;

public class test {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner scan = new Scanner(System.in);
        System.out.print("请输入参数:");
        String s = scan.nextLine();

        try{
            Person p = Nvwa.Personjudge(s);
            p.make();
        }catch(Exception e){
            System.out.println(e.getMessage());
        }
        scan.close();
    }

}
package com.ittest.test2;

public class Woman implements Person {
    public Woman() {
    }

    public void make() {

        System.out.print("生产女人");

    }

}