============================================================
 COMPOSITION OVER INHERITANCE — CAR BUILDER - Demo Run
============================================================

--- Composing a sports car ---
  Car with 450hp gasoline engine, 4x 19" wheels, and manual transmission
  Total component cost: $17700

--- Composing an economy car (different components, same Car class) ---
  Car with 110hp hybrid engine, 4x 15" wheels, and automatic transmission
  Total component cost: $5100

--- Engine upgrade (composition makes this trivial) ---
  Upgraded from [110hp hybrid engine] to [180hp gasoline engine]
  New total cost: $7100

--- Why composition over inheritance here? ---
  An inheritance-based design (SportsCar, EconomyCar subclasses) would need a new
  subclass for every combination of engine/wheels/transmission -- composition lets
  us mix and match freely, and swap parts after construction, which inheritance can't.

============================================================
 Assignment: CarBuilder fluent interface
============================================================
  Car with 300hp gasoline engine, 4x 18" wheels, and automatic transmission
  (Transmission was left unspecified -- used the builder's default: automatic)
