软件设计实验2

实验2:简单工厂模式

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

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

源码:

1.Man.java

 

package test2;
public class Man implements Person{
    public Man() {//构造
    }
    public void make(){
        System.out.print("生产Man");//方法(生产男人)
    }
}

 

  2.Woman.java

package test2;
public class Woman implements Person{
    public Woman() {//构造
    }
    public void make() {
        System.out.print("生产Woman");//方法(生产女人)
    }
}

  3.Robot.java

package test2;
public class Robot implements Person{
    public Robot() {//构造
    }
    public void make(){
        System.out.print("生产Robot");//方法(生产机器人)
    }
}

  4.Person.java

package test2;
public interface Person {//接口
    public void make();//定义公共方法
}

  5.Nvwa.java

package test2;
public class Nvwa {
    public Nvwa() {//构造
    }
    public static  Person Personjudge(String arg ) {
        //判断参数,再选择调用哪个类
        if(arg.equalsIgnoreCase("M"))
        {
            return new Man();//新建Male对象
        }else if(arg.equalsIgnoreCase("W"))
        {
            return new Woman();//新建Female对象
        }else if(arg.equalsIgnoreCase("R"))
        {
            return new Robot();//新建Robot对象
        }else
        {
            return null;//什么也不建
        }
    }
}

  6.test.java

package 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("请输入参数:");//输入想要生产的(男人or女人or机器)
        String s = scan.nextLine();
        try{
            Person p = Nvwa.Personjudge(s);
            p.make();
        }catch(Exception e){
            System.out.println(e.getMessage());
        }
        scan.close();
    }
}

  

 

posted @ 2022-10-06 16:00  Lindseyyip  阅读(18)  评论(0编辑  收藏  举报