2023/10/30星期一总结

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

 

实验2:简单工厂模式

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

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

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

 

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

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

实验要求:

1.画出对应的类图;

2.提交源代码;

3.注意编程规范。

 

1:类图:

 

2:源代码

Main类

package moshi;

 

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类

package moshi;

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;

 

    }

}

Man函数

package moshi;

 

public class Man implements Person{

 

    @Override

 

    public void make() {

 

        // TODO Auto-generated method stub

 

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

 

    }

 

}

Person函数

package moshi;

 

public interface Person {

 

    public void make();

 

}

Robot函数

package moshi;

 

public class Robot implements Person{

 

    @Override

 

    public void make() {

 

        // TODO Auto-generated method stub

 

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

 

    }

 

}

Woman函数

package moshi;

 

public class Woman implements Person{

 

    @Override

 

    public void make() {

 

        // TODO Auto-generated method stub

 

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

 

    }

 

}

3:输出截图:

 

posted @   liu_ru_jun  阅读(1)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示