Propriedades privadas em POO em PHP

As propriedades de um objeto que podem ser lidas e escritas de fora são chamadas de públicas. Existem também as propriedades privadas, que estarão acessíveis apenas dentro da classe.

Os nomes das propriedades privadas precisam ser declarados com o modificador de acesso private. Vamos fazer isso:

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

Agora vamos gravar dados em nossa propriedade. Isso pode ser feito, por exemplo, no construtor da classe:

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

Vamos agora criar um método que retornará o valor da nossa propriedade:

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

Vamos criar um objeto da classe, passando como parâmetro o nome do usuário:

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

A tentativa de acessar diretamente nossa propriedade fora da classe resultará em erro:

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

E chamar nosso método permitirá ler essa propriedade:

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

Na classe Employee, crie três propriedades privadas: nome, salário e idade.

Задание 2

Passe via construtor os valores dessas propriedades.

Задание 3

Crie um método que exibirá os dados do funcionário.