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

软件设计实验2:简单工厂模式

时间:2023-10-31 22:12:15浏览次数:30  
标签:package 软件设计 工厂 second 实验 Human makePerson public

实验2:简单工厂模式

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

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

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

 

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

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

实验要求:

1. 画出对应的类图;

 

2. 提交源代码;

package second;

import java.awt.*;

public interface Human {
}
package second;

public class Nvwan {
    public static void main(String[] args) {
        makePerson("M");
        makePerson("W");
        makePerson(" ");
    }

    public static Human makePerson(String brand) {
        if (brand.equals("M")) {
            return new Man();
        } else if (brand.equals("W")) {
            return new Woman();
        } else {
            return new Robot();
        }
    }
}

package second;

public class Robot implements Human {

    public Robot() {
        System.out.println("To make a robot!");
    }
}
package second;

public class Man implements Human {
    public Man() {
        System.out.println("To make a man!");
    }
}
package second;

public class Woman implements Human {
    public Woman() {
        System.out.println("To make a woman!");
    }
}

 

 

3.注意编程规范。

标签:package,软件设计,工厂,second,实验,Human,makePerson,public
From: https://www.cnblogs.com/DREAM2021/p/17801707.html

相关文章

  • 软件设计实验3:工厂方法模式
    实验3:工厂方法模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解工厂方法模式的动机,掌握该模式的结构;2、能够利用工厂方法模式解决实际问题。 [实验任务一]:加密算法目前常用的加密算法有DES(DataEncryptionStandard)和IDEA(InternationalDataEncryption......
  • 实验三
    test1.c1#include<stdio.h>2#include<stdlib.h>3#include<time.h>4#include<windows.h>5#defineN8067voidprint_text(intline,intcol,chartext[]);//函数声明8voidprint_spaces(intn);//函数声明9voidprint_......
  • 实验3
    实验任务1实验任务2.1实验任务2.2 实验任务3实验任务4实验任务5 实验任务6 ......
  • 实验3 c语言函数应用编程
    task11源代码1#include<stdio.h>2#include<stdlib.h>3#include<time.h>4#include<windows.h>5#defineN8067voidprint_text(intline,intcol,chartext[]);8voidprint_spaces(intn);9voidprint_blank_lines(intn)......
  • 实验3
    实验任务1#include<stdio.h>#include<stdlib.h>#include<time.h>#include<windows.h>#defineN80voidprint_text(intline,intcol,chartext[]);//函数声明voidprint_spaces(intn);//函数声明voidprint_blank_lines(intn);//函数声明int......
  • 软件设计-状态模式
    publicclass状态模式{publicstaticvoidmain(String[]args){Contextcontext=newContext();context.Request();context.Request();context.Request();//System.out.println(context.getState());context......
  • 实验三
    #include<stdio.h>#include<stdlib.h>#include<time.h>#include<windows.h>#defineN80voidprint_text(intline,intcol,chartext[]);//函数声明voidprint_spaces(intn);//函数声明voidprint_blank_lines(intn);//函数声明intmain()......
  • 使用EMR+DLF+OSS-HDFS进行数据湖分析(阿里云实验)
    实验地址:https://developer.aliyun.com/adc/scenario/exp/f7cf565798e34710acf483ba56e6ebf6hadoopfs操作oss#上传文件hadoopfs-putlogtail.shoss://u-5stubb6d.cn-shanghai.oss-dls.aliyuncs.com/#新建目录hadoopfs-mkdiross://u-5stubb6d.cn-shanghai.oss-dls.aliyu......
  • 实验三
    tesk1代码#include<time.h>#include<windows.h>#defineN80voidprint_text(intline,intcol,chartext[]);voidprint_spaces(intn);voidprint_blank_lines(intn);intmain(){intline,col,i;chartext[N]="hi,November~";......
  • 实验3
    任务1源码 任务1结果生成随机弹幕: 任务2源码  任务2结果 任务3源码  任务3结果  任务4源码迭代 递归 任务4结果 迭代递归 任务5源码  任务5结果  任务6源码  任务6结果  任务7源码 1#define_CRT_SECURE_NO......