软件设计 石家庄铁道大学信息学院
实验2:简单工厂模式
本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:
1、理解简单工厂模式的动机,掌握该模式的结构;
2、能够利用简单工厂模式解决实际问题。
[实验任务一]:女娲造人
使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数M,则返回一个Man对象,如果传入参数W,则返回一个Woman对象,如果传入参数R,则返回一个Robot对象。请用程序设计实现上述场景。
实验要求:
1.画出对应的类图;
2.提交源代码;
3.注意编程规范。
1. 类图
2. 源代码
// 定义基础类 Person
public abstract class Person {
public abstract void generateP();
}
class Man extends Person{
@Override
public void generateP (){
System.out.println("MAN");
}
}
class Women extends Person{
@Override
public void generateP(){
System.out.println("WOMAN");
}
}
class Robot extends Person{
@Override
public void generateP(){
System.out.println("ROBOT");
}
}
class NvwaFactory{
public static Person
createPerson(String p){
Person pe = null;
switch(p){
case "M" :
pe = new Man();
break;
case "W" :
pe = new Women();
break;
case "R":
pe = new Robot();
break;
}
return pe;
}
}
// 使用示例
public class Main {
public static void main(String[]
args) {
Person man = NvwaFactory.createPerson("M");
Person woman = NvwaFactory.createPerson("W");
Person robot = NvwaFactory.createPerson("R");
man.generateP();
woman.generateP();
robot.generateP();
}
}