Privaatsed omadused OOP-s PHP-s

Objekti omadusi, mida saab väljaspoolt lugeda ja kirjutada, nimetatakse avalikeks. On olemas ka privaatsed omadused, mis on kättesaadavad ainult klassi sisemuses.

Privaatsete omaduste nimed tuleb deklareerida ligipääsumodifikaatoriga private. Teeme seda:

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

Nüüd kirjutame andmed meie omadusse. Seda saab teha näiteks klassi konstruktoris:

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

Teeme nüüd meetodi, mis tagastab meie omaduse väärtuse:

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

Loome klassi objekti, andes parameetrina kasutaja nime:

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

Katse pöörduda otse meie omaduse poole väljaspool klassi põhjustab vea:

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

Meie meetodi kutsumine võimaldab seda omadust lugeda:

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

Klassis Employee tehke kolm privaatset omadust: nimi, palk ja vanus.

Задание 2

Andke konstruktori parameetrina nende omaduste väärtused.

Задание 3

Tehke meetod, mis väljastab töötaja andmed.