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

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

原文地址:https://www.cnblogs.com/Lizhichengweidashen/p/15322246.html