You are on page 1of 4

Kelas Car

package builder1;

public class Car {


private boolean powerSteering = false;
private boolean powerWindow = false;
private String price = "";

public boolean isPowerSteering() {


return powerSteering;
}
public void setPowerSteering(boolean
powerSteering) {
this.powerSteering = powerSteering;
}
public boolean isPowerWindow() {
return powerWindow;
}
public void setPowerWindow(boolean
powerWindow) {
this.powerWindow = powerWindow;
}
public String getPrice() {
return price;
}
public void setPrice(String price) {
this.price = price;
}

public String toString(){


String output = "";
output += "Power steering "+
powerSteering+"\n";
output += "Power window "+
powerWindow+"\n";
output += "Price "+ price+"\n";
return output;
}
}

Kelas CarBuilder

package builder1;

public abstract class CarBuilder {


protected Car car;

public Car getCar(){


return car;
}
public void createNewCar(){
car = new Car();
}
public abstract void setPowerSteering();
public abstract void setPowerWindow();
public abstract void setPrice();
}

Kelas Alto_LX

package builder1;

public class Alto_LX extends CarBuilder{

@Override
public void setPowerSteering() {
car.setPowerSteering(false);
}

@Override
public void setPowerWindow() {
car.setPowerWindow(false);
}

@Override
public void setPrice() {
car.setPrice("22500000");
}

Kelas Alto_LXI

package builder1;

public class Alto_LXI extends CarBuilder{

@Override
public void setPowerSteering() {
car.setPowerSteering(true);
}

@Override
public void setPowerWindow() {
car.setPowerWindow(true);
}

@Override
public void setPrice() {
car.setPrice("45000000");
}
}

Kelas CarDirector

package builder1;
public class CarDirector {
private CarBuilder carBuilder;

public void setCarBuilder(CarBuilder


aCarBuilder){
carBuilder = aCarBuilder;
}
public Car getCar(){
return carBuilder.getCar();
}
public void constructCar(){
carBuilder.createNewCar();
carBuilder.setPowerSteering();
carBuilder.setPowerWindow();
carBuilder.setPrice();
}
}

Kelas BuildCarDemo

package builder1;

public class BuildCarDemo {


public static void main(String[] args) {
CarDirector director = new CarDirector();
CarBuilder alto_LX = new Alto_LX();
//CarBuilder alto_LXI = new Alto_LXI();

//konfigurasi spesifikasi untuk masing2


jenis mobil
director.setCarBuilder(alto_LX);
director.constructCar();
System.out.println(director.getCar());
}
}

You might also like