Junior — Middle
O que significam e quais são os níveis de acesso aos elementos na programação orientada a objetos?
sobes.tech IA
Resposta da IA
Na programação orientada a objetos (POO), os níveis de acesso determinam quais partes do programa podem aceder a certos elementos de uma classe (propriedades e métodos). Em PHP, existem três níveis principais de acesso:
- public — os elementos são acessíveis de qualquer lugar, tanto dentro como fora da classe.
- protected — os elementos são acessíveis apenas dentro da própria classe e dos seus herdeiros.
- private — os elementos são acessíveis apenas dentro da própria classe onde são declarados, e não nos herdeiros nem de fora.
Exemplo:
class Example {
public $publicVar = 'public';
protected $protectedVar = 'protected';
private $privateVar = 'private';
public function testAccess() {
echo $this->publicVar; // Disponível
echo $this->protectedVar; // Disponível
echo $this->privateVar; // Disponível
}
}
class ChildExample extends Example {
public function testAccess() {
echo $this->publicVar; // Disponível
echo $this->protectedVar; // Disponível
// echo $this->privateVar; // Erro: não acessível
}
}
$obj = new Example();
echo $obj->publicVar; // Disponível
// echo $obj->protectedVar; // Erro
// echo $obj->privateVar; // Erro
Assim, os níveis de acesso ajudam a encapsular dados e a controlar a sua visibilidade.