Objetos dentro de clases en POO en PHP

En las clases se pueden utilizar objetos de otras clases. Veamos un ejemplo. Supongamos que queremos crear un usuario con nombre y apellido, y también con la ciudad donde vive. Supongamos que tenemos la siguiente clase para la ciudad:

php<?php
  class City {
    public $name;
    
    public function __construct($name) {
      $this->name = $name;
    }
  }
?>

Pasaremos el nombre, apellido y ciudad como parámetros del constructor:

php<?php
  class User {
    public $name;
    public $surn;
    public $city;
    
    public function __construct($name, $surn, $city) {
      $this->name = $name;
      $this->surn = $surn;
      $this->city = $city;
    }
  }
?>

En este caso, el nombre y apellido serán cadenas, pero la ciudad será un objeto de su propia clase separada:

php<?php
  $city = new City('luis');
  $user = new User('john', 'smit', $city);
?>

Mostremos el nombre de nuestro usuario:

php<?php
  echo $user->name;
?>

Y ahora mostremos el nombre de la ciudad de nuestro usuario:

php<?php
  echo $user->city->name;
?>
Задание 1

Se da la siguiente clase:

php<?php
  class Employee {
    public $name;
    public $position;
    public $department;
  
    public function __construct($name, $position, $department) {
      $this->name = $name;
      $this->position = $position;
      $this->department = $department;
    }
  }
?>

Haz que al segundo y tercer parámetro se le pasen objetos de clases separadas.

Задание 2

Crea un objeto de empleado utilizando la clase de la tarea anterior.

Задание 3

Imprime en la consola el nombre, cargo y departamento del empleado creado.