软件设计实验2
实验2:简单工厂模式
[实验任务一]:女娲造人
使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数M,则返回一个Man对象,如果传入参数W,则返回一个Woman对象,如果传入参数R,则返回一个Robot对象。请用程序设计实现上述场景。
源码:
1.Man.java
package test2;
public class Man implements Person{
public Man() {//构造
}
public void make(){
System.out.print("生产Man");//方法(生产男人)
}
}
2.Woman.java
package test2;
public class Woman implements Person{
public Woman() {//构造
}
public void make() {
System.out.print("生产Woman");//方法(生产女人)
}
}
3.Robot.java
package test2;
public class Robot implements Person{
public Robot() {//构造
}
public void make(){
System.out.print("生产Robot");//方法(生产机器人)
}
}
4.Person.java
package test2;
public interface Person {//接口
public void make();//定义公共方法
}
5.Nvwa.java
package test2;
public class Nvwa {
public Nvwa() {//构造
}
public static Person Personjudge(String arg ) {
//判断参数,再选择调用哪个类
if(arg.equalsIgnoreCase("M"))
{
return new Man();//新建Male对象
}else if(arg.equalsIgnoreCase("W"))
{
return new Woman();//新建Female对象
}else if(arg.equalsIgnoreCase("R"))
{
return new Robot();//新建Robot对象
}else
{
return null;//什么也不建
}
}
}
6.test.java
package test2;
import java.util.Scanner;
public class test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan = new Scanner(System.in);
System.out.print("请输入参数:");//输入想要生产的(男人or女人or机器)
String s = scan.nextLine();
try{
Person p = Nvwa.Personjudge(s);
p.make();
}catch(Exception e){
System.out.println(e.getMessage());
}
scan.close();
}
}
浙公网安备 33010602011771号