• 简单工厂模式——女娲造人


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

    2、类图:

    3、代码:

    1、抽象产品类–人类:

    package tutorial2;

    public abstract class Person {

    public void live() {

    }

    public void play() {

    }

    }

    2、具体产品类–男人类:

    package tutorial2;

    public class Man extends Person {

    @Override

    public void live() {

    System.out.println("女娲造人————男人");

            super.live();

    }

    public void play() {

    System.out.println("男人玩耍中.....");

            super.play();

    }

    }

    3、具体产品类–女人类:

    package tutorial2;

    public class Woman extends Person {

    @Override

    public void live() {

    System.out.println("女娲造人————女人");

            super.live();

    }

    public void play() {

    System.out.println("女人玩耍中.....");

            super.play();

    }

    }

    4、具体产品类–机器人类:

    package tutorial2;

    public class Robot extends Person{

    @Override

    public void live() {

    System.out.println("女娲造人————机器人");

            super.live();

    }

    public void play() {

    System.out.println("机器人玩耍中.....");

            super.play();

    }

    }

    5、工厂类–女娲类:

    package tutorial2;

    public class NvWa {

    public static Person getPerson(String people){

        Person person=null ;

        

        if(people.equalsIgnoreCase("M")){

            person = new Man();

        }else if(people.equalsIgnoreCase("W")){

            person = new Woman();

        }else if(people.equalsIgnoreCase("R")){

            person = new Robot();

        }

        return person;

    }

    }

    6、女娲造人的测试:

    package tutorial2;

    public class NvWaMakePeople {

        public static void main(String[] args) {

            Person Person;

            Person = NvWa.getPerson("M");  //女娲造男人

            Person.live();

            Person.play();

            System.out.println("**********************");

            Person = NvWa.getPerson("W"); //女娲造女人

            Person.live();

            Person.play();

            System.out.println("**********************");

            Person = NvWa.getPerson("R"); //女娲造机器人

            Person.live();  

            Person.play();

        }

    }

     4、结果

  • 相关阅读:
    Java【第二篇】基本语法之--进制、运算符
    Java【第一篇】基本语法之--关键字、标识符、变量及分类、数据类型及转换
    安装运行zookeeper的坑
    部署java应用的几种方式
    解决sudo用户找不到环境变量的问题
    Python装饰器详解
    filebeat开启自带模块收集日志如何辨别日志来源等
    使用elasticsearch7.3版本在一台主机上部署多个实例组建集群
    redis 集群搭建
    Kibana多用户创建及角色权限控制
  • 原文地址:https://www.cnblogs.com/Lizhichengweidashen/p/15322246.html
Copyright © 2020-2023  润新知