Modificadores de acesso do PHP: entendendo seu propósito e implementação
O objetivo deste artigo é examinar os conceitos de modificadores de acesso do PHP e sua importância para a programação orientada a objetos.
Na programação orientada a objetos , os modificadores de acesso são usados para controlar a visibilidade dos membros da classe (propriedades e métodos).
O modificador de acesso PHP em uma propriedade ou método de classe determina quais métodos e propriedades na classe são visíveis para o usuário.
Esta lição discutirá as diferenças entre propriedades e métodos públicos, protegidos e privados, bem como como eles são usados em várias situações.
Os modificadores de acesso do PHP podem ser classificados em três tipos:
tipos | Visão geral |
público | Uma propriedade ou método público pode ser acessado de qualquer lugar, dentro e fora da classe . |
protegido | Uma propriedade ou método protegido só pode ser acessado de dentro da classe e suas subclasses. Não pode ser acessado de fora da classe. |
privado | Uma propriedade ou método privado só pode ser acessado de dentro da classe. Ele não pode ser acessado de fora da classe ou de suas subclasses. |
Modificadores de acesso do PHP
Os modificadores de acesso do PHP podem ser usados em propriedades e métodos para controlar onde eles são acessíveis (ou não).
Aqui adicionamos três modificadores de acesso diferentes a cada uma das três propriedades no exemplo a seguir.
A propriedade name é public , portanto, se você defini-la, funcionará perfeitamente.
Você receberá um erro fatal se tentar fazer alterações na cor ou na propriedade de peso, porque não pode defini-las (já que as propriedades de idade e sexo são protegidas e privadas).
Example:
Example:
Exemplo de Explicação
O código acima é um exemplo de um conceito de programação orientada a objetos chamado encapsulamento. Ele define uma classe chamada “ Student ” com três propriedades, $name , $age e $gender , e três métodos, setName() , setAge() e setGender() , que são usados para definir os valores das propriedades.
O método setName() é um método público, o que significa que pode ser acessado de qualquer lugar fora da classe e define o valor da propriedade $name.
O método setAge() é um método protegido, o que significa que só pode ser acessado de dentro da classe ou de suas subclasses. Ele define o valor da propriedade $age.
O método setGender() é um método privado, o que significa que só pode ser acessado de dentro da própria classe. Ele define o valor da propriedade $gender.
Quando um objeto da classe é criado usando a palavra-chave “ new ”, as propriedades são inicializadas automaticamente com valores nulos .
Em seguida, o método setName() é chamado no objeto, que define o valor da propriedade $name como “Alex”.
No entanto, quando o método setAge() é chamado no objeto, ele gera um erro porque é um método protegido e não pode ser acessado de fora da classe.
Em resumo, o encapsulamento é uma técnica que permite que os dados e métodos de uma classe sejam ocultados e acessados apenas por meio de interfaces públicas . Com a visibilidade definida para os métodos, os desenvolvedores podem controlar o acesso às propriedades e evitar modificações indesejadas.
Objetivo dos modificadores de acesso do PHP
O objetivo principal dos modificadores de acesso do PHP é controlar a visibilidade e acessibilidade dos membros da classe. Isso garante que os membros da classe sejam acessíveis apenas nos locais apropriados, impedindo o acesso não autorizado ou a modificação das propriedades e métodos da classe.
Aqui estão algumas finalidades específicas de cada modificador de acesso:
Público
Os membros públicos podem ser acessados de qualquer lugar, tornando-os adequados para propriedades e métodos que precisam ser acessados de fora da classe. Por exemplo, um método getter que retorna o valor de uma propriedade privada pode se tornar público.
Privado
Os membros privados são acessíveis apenas de dentro da classe em que são definidos, tornando-os adequados para propriedades e métodos que não devem ser acessados ou modificados de fora da classe. Por exemplo, uma propriedade privada que armazena uma senha ou outras informações confidenciais deve se tornar privada.
Protegido
Os membros protegidos são acessíveis apenas de dentro da classe em que são definidos e suas subclasses, tornando-os adequados para propriedades e métodos que devem ser acessados ou modificados apenas pela classe e suas subclasses. Por exemplo, um método protegido que executa uma operação específica pode ser chamado pela classe e suas subclasses, mas não de fora.