package com.cheng.zenofdesignpatterns.patternpk.creational.abstractfactory_vs_builder.builder; /** * 抽象建造者 */ public abstract class CarBuilder { // 待建造的汽车 private ICarBuilder car; // 设计蓝图 private Blueprint bp; public Car buildCar() { // 按照顺序生产一辆车 return new Car(buildEngine(), buildWheel()); } // 接收一份设计蓝图 public void receiveBlueprint(Blueprint _bp) { this.bp = _bp; } // 查看蓝图,只有真正的建造者才可以查看蓝图 protected Blueprint getBlueprint() { return bp; } // 建造轮子 protected abstract String buildWheel(); // 建造引擎 protected abstract String buildEngine(); }