Yksityiset ominaisuudet OOP:ssa PHP:ssä

Objektin ominaisuudet, joita voidaan lukea ja kirjoittaa ulkopuolelta, kutsutaan julkisiksi. On olemassa myös yksityisiä ominaisuuksia, jotka ovat saatavilla vain luokan sisällä.

Yksityisten ominaisuuksien nimet on ilmoitettava käyttöoikeusmodifioijalla private. Tehdäänpä se:

php<?php
  class User {
    private $name;
  }
?>

Kirjoitetaan nyt dataa ominaisuuteemme. Tämä voidaan tehdä esimerkiksi luokan konstruktorissa luokan:

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

Tehdään nyt metodi, joka palauttaa ominaisuutemme arvon:

php<?php
  class User {
    private $name;
    
    public function __construct($name) {
      $this->name = $name;
    }
    
    public function show() {
      return $this->name;
    }
  }
?>

Luodaan luokan olio, lähettämällä parametrina käyttäjänimen käyttäjä:

php<?php
  $user = new User('john');
?>

Yritys viitata suoraan ominaisuuteemme luokan ulkopuolella johtaa virheeseen:

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

Metodimme kutsuminen mahdollistaa tämän ominaisuuden lukemisen:

php<?php
  echo $user->show(); // tulostaa 'john'
?>
Задание 1

Luokassa Employee tee kolme yksityistä ominaisuutta: nimi, palkka ja ikä.

Задание 2

Lähetä konstruktorin parametrina näiden ominaisuuksien arvot.

Задание 3

Tee metodi, joka tulostaa työntekijän tiedot.