24.11.15

实验2:简单工厂模式

本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:

1、理解简单工厂模式的动机,掌握该模式的结构;

2、能够利用简单工厂模式解决实际问题。

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

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

实验要求:

1.画出对应的类图;

2.提交源代码;

3.注意编程规范。

 

 

类图如下:

 

 

 

 

源代码如下:

// 定义抽象类 Person

abstract class Person {

    public abstract void speak();

}

 

// 定义具体类 Man

class Man extends Person {

    @Override

    public void speak() {

        System.out.println("I am a Man.");

    }

}

 

// 定义具体类 Woman

class Woman extends Person {

    @Override

    public void speak() {

        System.out.println("I am a Woman.");

    }

}

 

// 定义具体类 Robot

class Robot extends Person {

    @Override

    public void speak() {

        System.out.println("I am a Robot.");

    }

}

 

// 定义简单工厂类 Nvwa

class Nvwa {

    public static Person createPerson(String type) {

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

            return new Man();

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

            return new Woman();

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

            return new Robot();

        } else {

            throw new IllegalArgumentException("Invalid type: " + type);

        }

    }

}

 

posted on 2024-11-15 16:20  Daniel350  阅读(15)  评论(0)    收藏  举报