首页 > 其他分享 >实验2:简单工厂模式

实验2:简单工厂模式

时间:2023-11-13 09:02:29浏览次数:31  
标签:java package Nvwa System 模式 工厂 Person 实验 public

本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:
1、理解简单工厂模式的动机,掌握该模式的结构;
2、能够利用简单工厂模式解决实际问题。

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

1、画出对应的类图;

2、提交源代码;
接口Person.java

package Nvwa;

public interface Person {


    public void create();
}

Man.java

package Nvwa;

public class Man implements Person{

    public Man(){

    }
    @Override
    public void create() {
        System.out.println("生产男人");

    }
}

Robot.java

package Nvwa;

public class Robot implements Person{

    public Robot(){

    }

    @Override
    public void create() {
        System.out.println("生产机器人");
    }
}

Woman.java

package Nvwa;

public class Woman implements Person{



    public Woman(){

    }
    @Override
    public void create() {
        System.out.println("生产女人");
    }
}

Nvwa.java

package Nvwa;

public class Nvwa {
    public Nvwa() {
    }

    public static Person Perspnjudge(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;
        }

    }


}

Main.java

package Nvwa;

import java.util.Scanner;

public class Main {
    public static void main(String[] args) throws Exception{

        Scanner type = new Scanner(System.in);
        System.out.println("请输入参数");
        String ss = type.nextLine();
        Person person =Nvwa.Perspnjudge(ss);

        person.create();
        type.close();

    }
}

标签:java,package,Nvwa,System,模式,工厂,Person,实验,public
From: https://www.cnblogs.com/yzx-sir/p/17828408.html

相关文章

  • Web漏洞-XSS实验-pikachu靶场5个场景(二)
    ★★实战前置声明★★文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与学习之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。1、前言上一篇《Web漏洞-XSS理论和靶场小试牛刀(一)》已经介绍了XSS一些理论知识点,本文主要是分享p......
  • 企业集成模式-第四章
    四、消息传递通道4.1引言1)消息通道主题确定应用使用什么通道,以及使用通道做什么固定的通道集:在设计应用时,开发人员必须知道把哪种类型的数据放在哪里,这样才能与其他应用共享这些数据;另外还要知道在哪里查找来自其他应用的特定类型的数据。确定通道集:与之相关产生了一个问......
  • 结构型设计模式07-享元模式
    结构型设计模式07-享元模式1、享元模式介绍享元模式是一种结构型设计模式,旨在通过共享对象来减少内存使用和提高性能。它主要用于处理大量细粒度对象的情况,其中许多对象具有相似的属性和行为。在享元模式中,对象分为两种类型:内部状态(IntrinsicState)和外部状态(ExtrinsicState)。......
  • 结构型设计模式07-享元模式
    结构型设计模式07-享元模式1、享元模式介绍享元模式是一种结构型设计模式,旨在通过共享对象来减少内存使用和提高性能。它主要用于处理大量细粒度对象的情况,其中许多对象具有相似的属性和行为。在享元模式中,对象分为两种类型:内部状态(IntrinsicState)和外部状态(ExtrinsicState)。......
  • vim几种常见模式以及常见操作
    vim是一个全屏模式编辑器。分为三种模式:命令或普通(Normal)模式:默认模式,可以实现移动光标,剪切/粘贴文本插入(insert)或编辑模式:用于修改文本扩展命令(extendedcommand)或命令(末)行模式:保存,退出等在不同模式下敲击相同的按键具有不同的意义。插入模式和扩展命令模式不可以直接切换,需要先退......
  • 每日随笔——单例模式
    [实验任务一]:学号的单一仿照课堂的身份证的例子,实现每个同学仅有一个学号这一问题。实验要求:1.画出对应的类图;2.提交源代码;3.注意编程规范。类图 源码:packageCS7;publicclassClient{publicstaticvoidmain(String[]args){StudentIDstu1,s......
  • 大型数据库实验四
    实验四--NOSQL和关系数据库的操作比较1、MYSQL数据库操作--新建一个Student表,并将数据录入进去:--SQL语句输出表中的所有记录:--查询zhangsan的computer成绩:--修改lisi的Math成绩,改为95:--使用Java客户端编程向Student表中添加一条数据:--使用java客户端编程查询Student......
  • DHCP实验
    1、检查虚拟机是否安装dhcp 2、因为dhcpd.conf的配置文件是空的,所以我们需要把/usr下的dhcp文件复制覆盖到该该目录下 3、复制该段内容,需要复制8行,8yy 4、如下图更改配置 5、重新启动dhcp服务6、打开一台win的虚拟机,并查看网络设置 #可以看到这是我们刚刚配置的网......
  • Vue 实验
    项目初始化#前提:包管理器安装vue-clivuecreate项目名称Vue2实验目的了解Vue2的组件实现机制数据绑定机制双向绑定:input单向绑定父组件→子组件:父组件传入的参数组件→用户:页面内部参数属性监听机制:被监听的参数实验内容实现一个简单的组件,体现......
  • 一个操作系统的设计与实现——第3章 保护模式
    实模式下,内存的访问是没有任何限制的,任何程序都能访问和修改任何内存地址,这就导致了实模式下的程序,甚至操作系统自己,都可能自身难保。于是,自8086的下一代产品80286起,保护模式诞生了;进一步的,自80386起,32位保护模式诞生了。3.1内存为什么要分段在学习保护模式之前,需要先讨论一个......