首页 > 其他分享 >2.简单工厂模式

2.简单工厂模式

时间:2022-12-03 11:57:17浏览次数:36  
标签:Woman java born 模式 工厂 Person 简单 Test02 public

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

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

类图

image

代码

java

Man.java

package Test02;

public class Man implements Person{
    @Override
    public void born() {
        System.out.println("生产Man");
    }
}

Nvwa.java

package Test02;

public class Nvwa {

    public static Person produce(String per) throws Exception {
        if (per.equals("M")){
            return new Man();
        }else if(per.equals("W")){
            return new Woman();
        }else if(per.equals("R")){
            return new Robot();
        }else{
            throw new Exception("对不起不能生产");
        }
    }

    public static void main(String[] args) throws Exception {
        Person m = Nvwa.produce("M");
        m.born();
    }

}

Person.java

package Test02;

public interface Person {

    public void born();

}

Robot.java

package Test02;

public class Robot implements Person{
    @Override
    public void born() {
        System.out.println("生产Robot");
    }
}

Woman.java

package Test02;

public class Woman implements Person{
    @Override
    public void born() {
        System.out.println("生产Woman");
    }
}

标签:Woman,java,born,模式,工厂,Person,简单,Test02,public
From: https://www.cnblogs.com/java-six/p/16947260.html

相关文章

  • 异地多活的三种架构模式
    业务定制型异地多活按照业务优先级排序,优先保证核心业务异地多活,根据核心业务的流程和数据,设计定制化的异地多活架构对基础设施无强要求不通用,难扩展C......
  • 装饰者模式
    装饰者模式星巴克咖啡订单项目:1)咖啡种类/单品咖啡:Espresso(意大利浓咖啡)、ShortBlack(浓缩咖啡)、LongBlack(美式咖啡)、Decaf(无因咖啡)2)调料:Milk、Soy(豆浆)、Chocolat......
  • python | 一个简单的icmp shell实现(不完善)
    python|一个简单的icmpshell实现(不完善)一个是server端,一个是cilent端,其实问题还是很多的,尤其是在真实网络中的时候,这个shell只适用于直连的情况,并且data不能太大(因为ic......
  • Java中的简单题目
    输入输出importjava.util.Scanner;publicclassTestDemo1{publicstaticvoidmain(String[]args){Scannerscan=newScanner(System.in);inta=scan.nextInt(......
  • meta账号激活开发者模式
    meta账号激活开发者模式有两种方法:1.绑定信用卡2.绑定手机号,有两种渠道 2.1第一种如下图 进入下面的地址就可以看到setuptwo-factorauthenticati......
  • C# AES CFB加解密模式兼容JAVA
    C#AESCFB加解密模式兼容JAVA代码片段最近在和java做对接的时候老是遇到加密使用java写的,需要我们使用C#来解密相关数据,AES加解密平常也在用,但是这种跨语言的应用还是比较......
  • SignalR循序渐进(一)简单的聊天程序
    前阵子把玩了一下SignalR,起初以为只是个real-time的web通讯组件。研究了几天后发现,这玩意简直屌炸天,它完全就是个.net的双向异步通讯框架,用它能做很多不可思议的东西。它......
  • 【RSA加密】初探RSA并简单使用
    RSA简介,这里贴上一篇博客,讲的很详细,通俗易懂初步理解之后,下面是关于RSA的简单使用:这里贴上一篇优秀的前端加密,后端解密的博客,简单使用的话是可以了。看完上面两篇博客,就够用......
  • 蓝桥杯 ALGO-54算法训练 简单加法(基本型)
    时间限制:1.0s内存限制:512.0MB问题描述首先给出简单加法算式的定义:如果有一个算式(i)+(i+1)+(i+2),(i>=0),在计算的过程中,没有任何一个数位出现了进位,则称其为......
  • Eclipse配置springIDE插件、搭建测试环境、简单的demo
    1.Spring框架简介(以下这以下这段话可用于面试求职):Spring为JavaEE开发提供了一个轻量级的解决方案,主要表现为:IOC(或者叫做DI)的核心机制,提供了bean工厂(Spring容器),降低了业务......