Question: Question: 1) Add In Class MotorCycle, Which Is A ConcreteBuilder Hint: Uncomment The Above /* */ Code In Class BuilderDemo Main Method, , And Add
Question:
1) Add in class MotorCycle, which is a ConcreteBuilder Hint: Uncomment the above /* */ code in class BuilderDemo main method, , and add in class MotorCycle implements IBuilder. You should get the following output;
Code:
| package builder; // Builders common interface interface IBuilder { void BuildBody(); void AddWheels(); void InstallHeadlights(); Product GetVehicle(); } |
| package builder; // Car is ConcreteBuilder class Car implements IBuilder { private Product product = new Product(); @Override public void BuildBody() { product.Add("The body of the Car is built"); } @Override public void AddWheels() { product.Add("4 wheels are added"); } @Override public void InstallHeadlights() { product.Add("2 Headlights are added"); } @Override public Product GetVehicle() { return product; } } |
| package builder; import java.util.LinkedList; // "Product" class Product { // We can use any data structure that you prefer.We have used LinkedList here. private LinkedList parts; public Product() { parts = new LinkedList(); } public void Add(String part) { //Adding parts parts.addLast(part); } public void Show() { System.out.println(" Product completed as below :"); for(int i=0;i { System.out.println(parts.get(i)); } } } |
| package builder; // "Director" class Director { IBuilder theBuilder; // A series of steps -for the production public void Construct(IBuilder builder) { theBuilder=builder; theBuilder.BuildBody(); theBuilder.InsertWheels(); theBuilder.AddHeadlights(); } } |
| package builder; class BuilderDemo { public static void main(String[] args) { System.out.println("***Builder Pattern Demo***"); Director director = new Director(); IBuilder carBuilder = new Car(); // IBuilder motorBuilder = new MotorCycle(); // Making Car director.Construct(carBuilder); Product p1 = carBuilder.GetVehicle(); p1.Show(); //Making MotorCycle /* director.Construct(motorBuilder); Product p2 = motorBuilder.GetVehicle(); p2.Show(); */ } } |
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
