简单工厂模式

软件设计                  石家庄铁道大学信息学院

 

实验2:简单工厂模式

本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:

1、理解简单工厂模式的动机,掌握该模式的结构;

2、能够利用简单工厂模式解决实际问题

 

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

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

实验要求:

1. 画出对应的类图;

 

 

2.提交源代码;

package Simple_factory;

 

public class Man implements Person{

    public Man() {

 

    }

    public void make(){

 

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

 

    }

 

}

package Simple_factory;

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 Simple_factory;

public interface Person {

    public void make();

 

}

package Simple_factory;

public class Robot implements Person{

    public Robot() {

    }

    

    public void make(){

        

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

        

    }

 

}

package Simple_factory;

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 Simple_factory;

public class Woman implements Person {

    public Woman() {

    }

    

    public void make() {

        

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

        

    }

 

}

 

3.注意编程规范。

posted @ 2023-10-13 17:46  旺旺大菠萝  阅读(1)  评论(0编辑  收藏  举报