Builder Pattern in Java: Explanation & Practice
Implement the builder design pattern
Problem summary
Create a Pizza class with a Builder that allows setting size, cheese, pepperoni, and mushrooms.
Starter code
class Pizza {
// Fields: size, cheese, pepperoni, mushrooms
// Private constructor
// Builder inner class
}
public class Main {
public static void main(String[] args) {
Pizza pizza = new Pizza.Builder("Large")
.cheese(true)
.pepperoni(true)
.mushrooms(false)
.build();
System.out.println(pizza);
// Output: Pizza: Large, Cheese: true, Pepperoni: true, Mushrooms: false
}
}Expected output and test cases
- Builder constructs pizza correctly
Pizza: Large, Cheese: true, Pepperoni: true, Mushrooms: false
Hints
- Builder class with same fields
- Each setter returns Builder for chaining
- build() returns new Pizza with Builder's values
Related OOP Basics exercises
Practice all OOP Basics exercises · Run this idea in the Java compiler