# Programmation Orientée Objet (POO) ## Définition d’une classe ```php class Person { private string $name; private int $age; public function __construct(string $name, int $age) { $this->name = $name; $this->age = $age; } public function __toString(): string { return 'Name: ' . $this->name . ', Age: ' . $this->age; } } ``` --- # Programmation Orientée Objet (POO) ## Définition d’une classe ```php class Person { private string $name; private int $age; public function __construct(string $name, int $age) { $this->name = $name; $this->age = $age; } public function __toString(): string { return 'Name: ' . $this->name . ', Age: ' . $this->age; } } ``` # Programmation Orientée Objet (POO) ## Héritage ```php class Employee extends Person { private string $position; public function __construct(string $name, int $age, string $position) { parent::__construct($name, $age); $this->position = $position; } public function __toString(): string { return parent::__toString() . ', Position: ' . $this->position; } } ``` --- # Programmation Orientée Objet (POO) ## les traits ```php trait Logger { public function log(string $message): void { echo "[LOG] " . $message; } } class Employee extends Person { use Logger; public function work(): void { $this->log($this->name . " is working."); } } ```