zoukankan      html  css  js  c++  java
  • 简单工厂模式(Java)

    女娲造人

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

    1. 类图:

     

    2. Java源代码:

    (1)Person.java:

    package test2;
    
     
    
    public interface Person {
    
     
    
    public void make();
    
     
    
    }

    (2)Woman.java:

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

    (3)Man.java:

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

    (4)Robot.java:

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

    (5)Nvwa.java:

    package test2;
    
    public class Nvwa {
    
     
    
    public Nvwa() {
    
     
    
    }
    
     
    
    public static  Person Personjudge(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;
    
            }
    
        }
    
    }

    (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("请输入参数:");
    
      String s = scan.nextLine();
    
      
    
    try{
    
                Person p = Nvwa.Personjudge(s);
    
                p.make();
    
            }catch(Exception e){
    
                System.out.println(e.getMessage());
    
            }
    
    scan.close();
    
    }
    
    }

     实现截图:

     

  • 相关阅读:
    蓝牙4.0BLE抓包(二) – 广播包解析
    蓝牙4.0BLE抓包(一)
    蓝牙4.0 BLE 广播包解析
    蓝牙学习笔记之实例广播数据的解析
    Android ConstraintLayout详解
    Android ConstraintLayout的基本使用
    使用EasyBCD完美实现Windows7与Linux双系统
    使用MbrFix.exe修复MBR分区表
    C#中的Delegate
    C# 设置程序开机自动运行(+注册表项)
  • 原文地址:https://www.cnblogs.com/marr/p/15403096.html
Copyright © 2011-2022 走看看