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


    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、结果

  • 相关阅读:
    How to build Linux system from kernel to UI layer
    Writing USB driver for Android
    Xposed Framework for Android 8.x Oreo is released (in beta)
    Linux Smartphone Operating Systems You Can Install Today
    Librem 5 Leads New Wave of Open Source Mobile Linux Contenders
    GUADEC: porting GNOME to Android
    Librem 5 – A Security and Privacy Focused Phone
    GNOME and KDE Join Librem 5 Linux Smartphone Party
    Purism计划推出安全开源的Linux Librem 5智能手机
    国产系统之殇:你知道的这些系统都是国外的
  • 原文地址:https://www.cnblogs.com/Lizhichengweidashen/p/15322246.html
Copyright © 2020-2023  润新知