Zasebne lastnosti v OOP v PHP

Lastnosti objekta, ki jih je mogoče brati in pisati od zunaj, imenujemo javne. Obstajajo tudi zasebne lastnosti, ki bodo dostopne samo znotraj razreda.

Imena zasebnih lastnosti je treba deklarirati z modifikatorjem dostopa private. Naredimo to:

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

Zdaj zapišimo podatke v našo lastnost. To lahko storimo na primer v konstruktorju razreda:

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

Naredimo zdaj metodo, ki bo vračala vrednost naše lastnosti:

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

Ustvarimo objekt razreda, ki mu podamo ime uporabnika kot parameter:

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

Poskus neposrednega dostopa do naše lastnosti zunaj razreda bo povzročil napako:

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

Klic naše metode pa bo omogočil branje te lastnosti:

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

V razredu Employee naredite tri zasebne lastnosti: ime, plačo in starost.

Задание 2

Preko konstruktorja posredujte vrednosti teh lastnosti.

Задание 3

Naredite metodo, ki bo izpisala podatke o delavcu.