Objektit luokkien sisällä OOP:ssa PHP:ssä

Luokissa voidaan käyttää objekteja muita luokkia. Katsotaanpa esimerkkiä. Oletetaan, että haluamme tehdä käyttäjän jonka on etunimi ja sukunimi, sekä kaupunki, jossa hän asuu. Oletetaan, että meillä on seuraava luokka kaupungille:

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

Annetaan etunimi, sukunimi ja kaupunki konstruktorin parametreina:

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

Tässä tapauksessa etunimi ja sukunimi ovat merkkijonoja, mutta kaupunki on objekti omasta erillisestä luokastaan:

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

Tuodaan esille käyttäjämme etunimi:

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

Tuodaan nyt esille käyttäjämme kaupungin nimi:

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

Annettu seuraava luokka:

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

Tee niin, että toiseen ja kolmanteen parametriin välitetään erillisten luokkien objekteja.

Задание 2

Luo objekti työntekijästä käyttämällä edellisen tehtävän luokkaa.

Задание 3

Tulosta konsoliin luodun työntekijän nimi, tehtävä ja osasto.