/** * @program: DesignMode * @description: 黑色女性人种 * @author: Jacob * @create: 2020-08-18 11:21 **/public class FemaleBlackHuman extends AbstractBlackHuman { @Override public void getSex() { System.out.println("黑色女性人种"); }}
代码语言:javascript代码运行次数:0运行复制
/** * @program: DesignMode * @description: 黑色男性人种 * @author: Jacob * @create: 2020-08-18 11:22 **/public class MaleBlackHuman extends AbstractBlackHuman{ @Override public void getSex() { System.out.println("黑色男性人种"); }}
代码语言:javascript代码运行次数:0运行复制
/** * @program: DesignMode * @description: 白色女性人种 * @author: Jacob * @create: 2020-08-18 11:20 **/public class FemaleWhiteHuman extends AbstractWhiteHuman{ @Override public void getSex() { System.out.println("白色女性人种"); }}
代码语言:javascript代码运行次数:0运行复制
/** * @program: DesignMode * @description: 白色男性人种 * @author: Jacob * @create: 2020-08-18 11:20 **/public class MaleWhiteHuman extends AbstractWhiteHuman{ @Override public void getSex() { System.out.println("白色男性人种"); }}
代码语言:javascript代码运行次数:0运行复制
/** * @program: DesignMode * @description: 黄色女性人种 * @author: Jacob * @create: 2020-08-18 11:17 **/public class FemaleYellowHuman extends AbstractYellowHuman { @Override public void getSex() { System.out.println("黄色女性人种"); }}
代码语言:javascript代码运行次数:0运行复制
/** * @program: DesignMode * @description: 黄色男性人种 * @author: Jacob * @create: 2020-08-18 11:18 **/public class MaleYellowHuman extends AbstractYellowHuman { @Override public void getSex() { System.out.println("黄色男性人种"); }}
到此为止,我们已经把真实世界的人种都定义出来了,剩下的工作就是怎么制造人类。
代码语言:javascript代码运行次数:0运行复制
/** * @program: DesignMode * @description: 八卦炉定义 * @author: Jacob * @create: 2020-08-18 17:47 **/public interface HumanFactory { //制造一个黄色人种 public Human createYellowHuman(); //制造一个白色人种 public Human createWhiteHuman(); //制造一个黑色人种 public Human createBlackHuman();}
/** * @program: DesignMode * @description: 生产女性的八卦炉 * @author: Jacob * @create: 2020-08-18 17:48 **/public class FemaleFactory implements HumanFactory { //生产出黄人女性 @Override public Human createYellowHuman() { return new FemaleYellowHuman(); } //生产出白人女性 @Override public Human createWhiteHuman() { return new FemaleWhiteHuman(); } //生产出黑人女性 @Override public Human createBlackHuman() { return new FemaleBlackHuman(); }}
代码语言:javascript代码运行次数:0运行复制
/** * @program: DesignMode * @description: 生产男性的八卦炉 * @author: Jacob * @create: 2020-08-18 17:49 **/public class MaleFactory implements HumanFactory { //生产出黑人男性 @Override public Human createBlackHuman() { return new MaleBlackHuman(); } //生产出白人男性 @Override public Human createWhiteHuman() { return new MaleWhiteHuman(); } //生产出黄人男性 @Override public Human createYellowHuman() { return new MaleYellowHuman(); }}
人种有了,八卦炉也有了,我们就来重现一下当年女娲造人的光景。
代码语言:javascript代码运行次数:0运行复制
/** * @program: DesignMode * @description: 女娲重造人类 * @author: Jacob * @create: 2020-08-18 17:51 **/public class NvWa { public static void main(String[] args) { //第一条生产线,男性生产线 HumanFactory maleHumanFactory = new MaleFactory(); //第二条生产线,女性生产线 HumanFactory femaleHumanFactory = new FemaleFactory(); //生产线建立完毕,开始生产人了: Human femaleYellowHuman = femaleHumanFactory.createYellowHuman(); Human femaleBlackHuman = femaleHumanFactory.createBlackHuman(); Human femaleWhiteHuman = femaleHumanFactory.createWhiteHuman(); System.out.println("---生产一个黄色女性---"); femaleYellowHuman.getColor(); femaleYellowHuman.talk(); femaleYellowHuman.getSex(); System.out.println("---生产一个黑色女性---"); femaleBlackHuman.getColor(); femaleBlackHuman.talk(); femaleBlackHuman.getSex(); System.out.println("---生产一个白色女性---"); femaleWhiteHuman.getColor(); femaleWhiteHuman.talk(); femaleWhiteHuman.getSex(); Human maleYellowHuman = maleHumanFactory.createYellowHuman(); Human maleBlackHuman = maleHumanFactory.createBlackHuman(); Human maleWhiteHuman = maleHumanFactory.createWhiteHuman(); System.out.println("n---生产一个黄色男性---"); femaleWhiteHuman.getColor(); maleYellowHuman.talk(); maleYellowHuman.getSex(); System.out.println("n---生产一个黄色男性---"); maleBlackHuman.getColor(); maleBlackHuman.talk(); maleBlackHuman.getSex(); System.out.println("n---生产一个白色男性---"); maleWhiteHuman.getColor(); maleWhiteHuman.talk(); maleWhiteHuman.getSex(); } }