OK后,可使用一些基本的变化 类似的东西首先你要汽车,使用默认的建设者自动装配的实例,那么你只要你想在这里的例子修改:
Car.calss
public class Car {
private Radio radio;
private Speaker speaker;
private Engine engine;
public Car(Radio radio, Speaker speaker, Engine engine) {
this.radio = radio;
this.speaker = speaker;
this.engine = engine;
}
public Radio getRadio() {
return radio;
}
public void setRadio(Radio radio) {
this.radio = radio;
}
public Speaker getSpeaker() {
return speaker;
}
public void setSpeaker(Speaker speaker) {
this.speaker = speaker;
}
public Engine getEngine() {
return engine;
}
public void setEngine(Engine engine) {
this.engine = engine;
}
}
CarBuilder.class
@Component
public class CarBuilder {
@Autowired
private Radio radio;
@Autowired
private Speaker speaker;
@Autowired
private Engine engine;
public CarBuilder setRadio(Radio radio) {
this.radio = radio;
return this;
}
public CarBuilder setSpeaker(Speaker speaker) {
this.speaker = speaker;
return this;
}
public CarBuilder setEngine(Engine engine) {
this.engine = engine;
return this;
}
public Car createCar() {
return new Car(radio, speaker, engine);
}
}
,并使用生成器在你的代码它像下面
@Component
public class CarMarket {
@Autowired
private CarBuilder carBuilder;
private Car buildStandardCar(){
return carBuilder.createCar();
}
private Car buildStandardCarButDifferentRadio(Radio radio){
return carBuilder.setRadio(radio).createCar();
}
}
我希望这将帮助你:)
为什么你想建立实例,当春天为你做? – kuhajeyan
因为有一些变量我想继续改变。例如型号A123或下一次B658。但无线电需要扬声器和汽车需要无线电。 – user293655