PHP да ООП да класслар ичидаги объектлар

Классларда бошқа классларнинг объектларидан фойдаланиш мумкин. Келтирилган мисол орқали кўрайлик. Фароз қилайлик, биз исм ва фамилияси, шунгингдек яшайдиган шаҳри бор фойдаланувчи яратишни истаймиз. Фароз қилайлик, бизда шаҳр учун куйидаги класс мавжуд:

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

Исм, фамилия ва шаҳрни конструктор параметрлари сифатида узетамиз:

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

Бунда исм ва фамилия сатрлар бўлади, аммо шаҳр - ўзининг алаҳида классининг объекти бўлади:

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

Келтирилган фойдаланувчининг исмини чиқарайлик:

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

Энди фойдаланувчи учун шаҳр номини чиқарайлик:

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

Куйидаги класс берилган:

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

Иккинчи ва учинчи параметрларга алоҳида классларнинг объектлари узетилишини таъминланг.

Задание 2

Олдинги масадаги класс ёрдамида ишчи объекти яратинг.

Задание 3

Яратилган ишчи учун исм, лавозим ва бўлимни консолга чиқаринг.