public class Car {
private String brand;
private String model;
private int year;
private Car(Builder builder) {
this.brand = builder.brand;
this.model = builder.model;
this.year = builder.year;
}
public String getBrand() {
return brand;
}
public String getModel() {
return model;
}
public int getYear() {
return year;
}
public static class Builder {
private String brand;
private String model;
private int year;
public Builder setBrand(String brand) {
this.brand = brand;
return this;
}
public Builder setModel(String model) {
this.model = model;
return this;
}
public Builder setYear(int year) {
this.year = year;
return this;
}
public Car build() {
return new Car(this);
}
}
}
public class CarDirector {
public Car createCar(String brand, String model, int year) {
return new Car.Builder()
.setBrand(brand)
.setModel(model)
.setYear(year)
.build();
}
}
public class Main {
public static void main(String[] args) {
CarDirector director = new CarDirector();
Car car = director.createCar("Toyota", "Camry", 2022);
}
}
public class Car {
private String brand;
private String model;
private int year;
private double price;
private Car(Builder builder) {
this.brand = builder.brand;
this.model = builder.model;
this.year = builder.year;
this.price = builder.price;
}
public static class Builder {
private String brand;
private String model;
private int year;
private double price;
public Builder setBrand(String brand) {
this.brand = brand;
return this;
}
public Builder setModel(String model) {
this.model = model;
return this;
}
public Builder setYear(int year) {
this.year = year;
return this;
}
public Builder setPrice(double price) {
this.price = price;
return this;
}
public Car build() {
return new Car(this);
}
}
}
public class CarDirector {
public Car createCar(String brand, String model, int year, double price) {
return new Car.Builder()
.setBrand(brand)
.setModel(model)
.setYear(year)
.setPrice(price)
.build();
}
}
public class Main {
public static void main(String[] args) {
CarDirector director = new CarDirector();
Car car = director.createCar("Toyota", "Camry", 2022, 25000.0);
}
}