Objekti klasēs OOP PHP

Klasēs var izmantot objektus citām klasēm. Apskatīsim piemērā. Pieņemsim, ka mēs vēlamies izveidot lietotāju ar vārdu un uzvārdu, kā arī pilsētu, kurā viņš dzīvo. Pieņemsim, ka mums ir šāda klase pilsētai:

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

Vārdu, uzvārdu un pilsētu padosim kā konstruktora parametrus:

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

Šajā gadījumā vārds un uzvārds būs virknēs, bet pilsēta - objekts savas atsevišķas klases:

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

Izvērsim mūsu lietotāja vārdu:

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

Tagad izvērsim mūsu lietotāja pilsētas nosaukumu:

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

Dota šāda klase:

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

Izdariet tā, lai otrajā un trešajā parametrā tiktu padoti atsevišķu klases objekti.

Задание 2

Izveidojiet darbinieka objektu ar klasi no iepriekšējā uzdevuma.

Задание 3

Izvadiet konsolē vārdu, amatu un nodaļu izveidotajam darbiniekam.