1 简单工厂模式

1.1 作业题目

使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数M,则返回一个Man对象,如果传入参数W。则返回一个对象Woman,用java语言实现该场景。现在需要增加一个新的Robot类,如果传入参数R,则返回一个Robot对象,对代码进行修改并注意女娲的变化。

(1)绘制简单工厂模式结构视图;

(2)请绘制该实例类图,并代码实现。

1.2  所用模式结构视图


1.3  实例类图

1.4  实例实现代码(注:代码部分可能出现Bug,应引起注意!)

package wmc09Nuva;

 

import java.util.Scanner;

 

public class Client {

 

public static void main(String[] args) {

Scanner a=new Scanner(System.in);

String s=a.nextLine();

wmc09SimpleProductFactory p=new     wmc09SimpleProductFactory();

wmc09Person n=p.NvwaCreatPerson(personType);

n.Opration();

}

}

 

public class wmc09SimpleProductFactory {

 

//简单工厂模式

    

//简单工厂类:(Nvwa)

    public static Person NvwaCreatPerson(string personType)

    {

        Person person = null;

        switch (personType)

        {

            case "M":

            person = new wmc09Man();

                break;

            case "W":

                person = new wmc09Woman();

                break;

        }

 

        return person;

    }

}

 

//抽象产品:Person

public abstract class wmc09Person

{

    public wmc09Person()

    { }

 

    public abstract void Opration();

}

 

//具体产品:Woman

public class wmc09Woman : Person

{

    public wmc09Woman() { }

 

    public override void Opration()

    {

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

    }

}

 

//具体产品:Man

public class wmc09Man : Person

{

    public wmc09Man() { }

 

    public override void Opration()

    {

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

    }

}

}

1.5  运行结果


更多推荐