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
class User {
private $name;
}
?>
Agora vamos gravar dados em nossa propriedade. Isso pode ser feito, por exemplo, no construtor da classe:
<?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
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
$user = new User('john');
?>
A tentativa de acessar diretamente nossa propriedade fora da classe resultará em erro:
<?php
echo $user->name; // erro
?>
E chamar nosso método permitirá ler essa propriedade:
<?php
echo $user->show(); // exibirá 'john'
?>
Na classe Employee, crie
três propriedades privadas: nome, salário
e idade.
Passe via construtor os valores dessas propriedades.
Crie um método que exibirá os dados do funcionário.