Prywatne właściwości w OOP w PHP

Właściwości obiektu, które można odczytywać i zapisywać z zewnątrz, nazywane są publicznymi. Istnieją również prywatne właściwości, które będą dostępne tylko wewnątrz klasy.

Nazwy prywatnych właściwości należy deklarować z modyfikatorem dostępu private. Zróbmy to:

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

Teraz zapiszmy dane w naszej właściwości. Można to zrobić na przykład w konstruktorze klasy:

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

Stwórzmy teraz metodę, która będzie zwracać wartość naszej właściwości:

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

Stwórzmy obiekt klasy, przekazując parametrem imię użytkownika:

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

Próba bezpośredniego odwołania się do naszej właściwości poza klasą spowoduje błąd:

php<?php
  echo $user->name; // błąd
?>

A wywołanie naszej metody pozwoli odczytać tę właściwość:

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

W klasie Employee zrób trzy prywatne właściwości: imię, wynagrodzenie i wiek.

Задание 2

Przekaż parametrem konstruktora wartości tych właściwości.

Задание 3

Zrób metodę, która wypisze dane pracownika.