Objektid klassides OOP-s PHP-s

Klassides saab kasutada teiste klasside objekte. Vaatame seda näite varal. Oletame, et tahame teha kasutaja nime ja perekonnanimega ning linna, kus ta elab. Oletame, et meil on järgmine klass linnale:

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

Edastame nime, perekonnanime ja linna konstruktori parameetritena:

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;
    }
  }
?>

Sel juhul on nimi ja perekonnanimi stringid, kuid linn on objekti oma eraldi klassist:

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

Väljastame oma kasutaja nime:

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

Nüüd väljastame oma kasutaja linna nime:

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

Antud on järgmine klass:

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;
    }
  }
?>

Tehke nii, et teise ja kolmanda parameetrina edastataks eraldi klasside objektid.

Задание 2

Looge töötaja objekt eelmise ülesande klassi abil.

Задание 3

Väljastage konsooli loodud töötaja nimi, ametikoht ja osakond.