Composition vs Inheritance — a practical guide to composition vs inheritance with clear examples you can reuse in real projects.
OOP Tutorial Series (38/65). Prefer one article? Read the complete OOP tutorial.
Short description
Composition builds behavior by combining objects. It usually reduces fragile base-class problems.
Composition
class Engine { public function start(): string { return 'vroom'; } }
class Car {
public function __construct(private Engine $engine) {}
public function start(): string { return $this->engine->start(); }
}