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