创建型设计模式 ——简单工厂模式

来源:互联网 发布:泛型 java 编辑:程序博客网 时间:2024/06/03 23:44

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)

    {

        Personperson =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 overridevoid Opration()

    {

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

    }

}

 

//具体产品:Man

public class wmc09Man : Person

{

    public wmc09Man(){ }

 

    public overridevoid Opration()

    {

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

    }

}

}

1.5  运行结果


0 0