简单工厂模式

[实验任务一]:女娲造人

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

实验要求:

1. 画出对应的类图;

 

2. 提交源代码;

package SimpleFactoryPattern;

/**

 * 抽象产品类--造人类

 * @author gong

 *

 */

public abstract class Person {

    public void run(){}

    public void eat(){}

 

}

具体产品类–男人类:

package SimpleFactoryPattern;

/**

 * 具体产品类--男人类

 * @author gong

public class Man extends Person{

    @Override

    public void eat() {

        System.out.println("男人吃东西..");

        super.eat();

    }

    @Override

    public void run() {

        System.out.println("男人跑步..");

        super.run();

    }

}

具体产品类–女人类:

package SimpleFactoryPattern;

/**

 * 具体产品类--女人类

 * @author gong

 *

 */

public class Woman extends Person{

    @Override

    public void eat() {

        System.out.println("女人吃东西..");

        super.eat();

    }

    @Override

    public void run() {

        System.out.println("女 人跑步..");

        super.run();

    }

}

具体产品类–机器人类:

package SimpleFactoryPattern;

/**

 * 具体产品类--机器人类

 * @author gong

 *

 */

public class Robot extends Person{

    @Override

    public void eat() {

        System.out.println("机器人吃东西..");

        super.eat();

    }

    @Override

    public void run() {

        System.out.println("机器人跑步..");

        super.run();

    }

}

 

工厂类–女娲类:

 

package SimpleFactoryPattern;

/**

 * 工厂类--女娲类

 * @author gong

 *

 */

public class{

    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;

    }

}

女娲造人的测试:

 

package SimpleFactoryPattern;

/**

 * 女娲造人的测试

 * @author gong

 *

 */

public class NvwaMakePerson {

    public static void main(String[] args) {

        Person person;

        person = Nvwa.getPerson("M");  //女娲造男人

        person.eat();  

        person = Nvwa.getPerson("W"); //女娲造女人

        person.eat();  

        person = Nvwa.getPerson("R"); //女娲造机器人

        person.eat();  

    }

}

3.注意编程规范。

 

posted @ 2021-09-15 22:57  Zwyooo  阅读(49)  评论(0编辑  收藏  举报