简单工厂模式

发布时间 2023-10-26 09:40:28作者: 王庆园

今天的简单工厂模式详情参照的是: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());

}

 

}

 

控制台输出: