zoukankan      html  css  js  c++  java
  • 简单工厂

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

    package SFP;
    
    /**
     * 简单工厂模式
     */
    
    //女娲造人工厂
    public class NvwaPersonFactory {
    
        //抽象类--人类
        public abstract class Person{
            public void birth(){}
        }
    
        //具体产品类
        public class Man extends Person{
            @Override
            public void birth(){
                System.out.println("女娲造男人。");
                super.birth();
            }
        }
        public class Woman extends Person{
            @Override
            public void birth(){
                System.out.println("女娲造女人。");
                super.birth();
            }
        }
        public class Robot extends Person{
            @Override
            public void birth(){
                System.out.println("女娲造机器人。");
                super.birth();
            }
        }
    
        //造人
        public Person getPerson(String type) {
            Person Person = null;
            if (type.equalsIgnoreCase("M")) {
                Person = new Man();
            } else if (type.equalsIgnoreCase("W")) {
                Person = new Woman();
            } else if (type.equalsIgnoreCase("R")) {
                Person = new Robot();
            }
            return Person;
        }
    
        public static void main(String[] args) {//入口
            Person person;
            NvwaPersonFactory nvwaPersonFactory = new NvwaPersonFactory();
    
            person = nvwaPersonFactory.getPerson("M");
            person.birth();
            person = nvwaPersonFactory.getPerson("W");
            person.birth();
            person = nvwaPersonFactory.getPerson("R");
            person.birth();
        }
    }
  • 相关阅读:
    sort color (荷兰国旗)
    先序遍历和后序遍历构建二叉树
    二叉树的遍历
    排序
    内存相关内容
    chrome控制台console方法表
    记一次移动端CSS引发的小Bug
    JavaScript的事件
    浅谈webpack打包原理
    JS模块化进程
  • 原文地址:https://www.cnblogs.com/Arisf/p/15292674.html
Copyright © 2011-2022 走看看