• 简单工厂模式(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();
    
    }
    
    }

     实现截图:

     

  • 相关阅读:
    容器 list
    迭代器
    排序
    extern "C"
    FZU2127
    HDU1102--最小生成树
    HDU1102(最小生成树Kruskal)
    并查集详解(转自一个很有才的大神)膜拜
    C# switch
    Dijkstra(歪果仁的名字真是长。。。)
  • 原文地址:https://www.cnblogs.com/marr/p/15403096.html
Copyright © 2020-2023  润新知