JAVA日报

软件设计                  石家庄铁道大学信息学院

 

实验2:简单工厂模式

本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:

1、理解简单工厂模式的动机,掌握该模式的结构;

2、能够利用简单工厂模式解决实际问题

 

[实验任务一]:女娲造人

使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数M,则返回一个Man对象,如果传入参数W,则返回一个Woman对象,如果传入参数R,则返回一个Robot对象。请用程序设计实现上述场景。

实验要求:

1. 画出对应的类图;

 

2.提交源代码;

//java__________________________________________________________________________

public interface person

{

public void play();

}

//

public class Man implements person

{

public void play()

{

System.out.println("我是man");

}

}

//

public class Woman implements person

{

public void play()

{

System.out.println("我是woman.");

}

}

//

public class Rebot implements person

{

public void play()

{

System.out.println("我是rebot");

}

}

 

//

public class Nvwa

{

public static person produceperson(String p) throws Exception

{

if(p.equalsIgnoreCase("M"))

{

System.out.println("新生儿将是man...");

return new Man();

}

else if(p.equalsIgnoreCase("W"))

{

System.out.println("新生儿将是Woman...");

return new Woman();

}

else if(p.equalsIgnoreCase("R"))

{

System.out.println("新生儿将是Rebot...");

return new Rebot();

}

 

else

{

throw new Exception("对不起没捏好");

}

}

//c++___________________________________________________________________________

public interface person

{

public void play();

}

//

public class Man implements person

{

public void play()

{

cout<<"我是man";

}

}

//

public class Woman implements person

{

public void play()

{

cout<<"我是woman.";

}

}

//

public class Rebot implements person

{

public void play()

{

cout<<"我是rebot";

}

}

 

//

public class Nvwa

{

public static person produceperson(String p) throws Exception

{

if(p=="M")

{

cout<<"新生儿将是man...";

return new Man();

}

else if(p=="W")

{

cout<<"新生儿将是Woman...";

return new Woman();

}

else if(p=="R"))

{

cout<<"新生儿将是Rebot...";

return new Rebot();

}

 

else

{

cout<<"对不起没捏好";

}

}

 

3.注意编程规范。

posted @ 2021-10-21 20:55  我的未来姓栗山  阅读(32)  评论(0编辑  收藏  举报