简单工厂模式

[实验任务一]:女娲造人

使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数M,则返回一个Man对象,如果传入参数W,则返回一个Woman对象,如果传入参数R,则返回一个Robot对象。请用程序设计实现上述场景。

实验要求:

1.  画出对应的类图;

 

 

 

2.  提交源代码;

Main

import java.util.*;

public class Main {

public static void main(String[] args) {

        Scanner sc=new Scanner(System.in);

        String str="";

        Nvwa nv=new Nvwa();

        Person person=null;

        do {

            System.out.println("输入W、M、R  让女娲造人,输入0结束");

            str=sc.next();

            person=nv.makePerson(str);

            if(person!=null) {

                person.make();

            }  

        }while(!str.equalsIgnoreCase("0"));  

    }

}

 

 

 

Nvwa

public class Nvwa {

    public Person makePerson(String type) {

        Person person=null;

        if(type.equalsIgnoreCase("W")||type.equalsIgnoreCase("w")) {

            person=new Woman();

        }else if(type.equalsIgnoreCase("M")||type.equalsIgnoreCase("m")) {

            person=new Man();

        }else if(type.equalsIgnoreCase("R")||type.equalsIgnoreCase("r")) {

            person=new Robot();

        }else {

            System.out.println("不能乱输嗷!");

            return null;

        }

        return person;

    }

 

Person

public interface Person {

    public void make();

}

 

Woman

public class Woman implements Person{

    @Override

    public void make() {

        // TODO Auto-generated method stub

        System.out.println("女娲造了一个女人!!");

    }

}

 

Man

public class Man implements Person{

    @Override

    public void make() {

        // TODO Auto-generated method stub

        System.out.println("女娲造了一个男人!!");

    }

}

 

Robot

public class Robot implements Person{

    @Override

    public void make() {

        // TODO Auto-generated method stub

        System.out.println("女娲造了一个机器人??");

    }

}

 

 

 

 

 

 

3.注意编程规范。

posted @ 2021-09-25 19:06  我试试这个昵称好使不  阅读(53)  评论(0编辑  收藏  举报