222wan

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

简单工厂模式

今天的简单工厂模式详情参照的是:https://blog.csdn.net/smileyan9/article/details/82192419这个博主讲的计算类大家也可以去看看,整体上就是换汤不换药。

 

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

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

 

实验要求:

 

1. 画出对应的类图;

 

1. 提交源代码;

复制代码
女娲类:
package 女娲造人;

 

public class Nvwa {

//女娲类

private String person;

 

public String getPerson() {

return person;

}

 

public void setPerson(String person ) {

this.person=person;

}

//返回造人结果

public String getResult() {

return null;

}

 

}
男人类:
package 女娲造人;

 

public class Man extends Nvwa {

//男人类

//继承自父类女娲类

//重写父类方法

public String getResult() {

 

return "Man";

 

}

 

 

}

女人类:

package 女娲造人;

 

public class Wamen extends Nvwa{

 

public String getResult() {

 

return "Wamen";

}

 

}

机器类:

package 女娲造人;

 

public class Robot extends Nvwa{

 

public String getResult() {

 

return "Robot";

}

 

}

造人工厂类:

package 女娲造人;

 

public class PersonFactory {

 

public static Nvwa createPerson(String person) {

Nvwa nvwa=null;

switch(person) {

case "M":

nvwa = new Man();

break;

case "W":

nvwa = new Wamen();

break;

case "R":

nvwa = new Robot();

break;

default:

break;

}

return nvwa;

}

}

客户测试类:

package 女娲造人;

 

public class Client {

public static void main(String[] args) {

Nvwa nvwa=null;

String person ="M";

nvwa =  PersonFactory.createPerson(person);

 

System.out.println(nvwa.getResult());

}

 

}

 
复制代码

控制台输出:

 

posted on   角落的蘑菇  阅读(31)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示