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 运行结果