Programação Orientada a Objetos em PHP — Visibilidade

Bem, se você não leu o primeiro post, acesse-o aqui: Programação Orientada a Objetos com PHP — Criando nosso primeiro objeto

Um dos conceitos que marcam a POO é o de visibilidade. Quem nunca se deparou com a seguinte linha de código e ficou confuso?

Preste bastante atenção a partir de agora, estarei explicando o que é public, private e protected com o exemplo acima.


O que seria algo público? Eu achei interessante a explicação do Gustavo Guanabara, do Curso em Vídeo, que explica o termo acima através da analogia do orelhão, em que qualquer pessoa pode ter acesso a ele para efetuar uma ligação. Da mesma forma, na classe acima, o nome do aluno tem que ser público, qualquer pessoa pode saber um nome de um aluno.

Mas o que seria algo privado? O contrário de público(Dãa). Mas não é exatamente assim. Privado seria algo que somente a classe e seus métodos podem acessar. No caso do aluno, seria seu CPF, e continuando com analogia do Gustavo Guanabara, seria seu telefone, ou smartphone.

Mas então Emanuel, o que seria algo protegido? Bem este é um pouco confuso de entender agora, pois envolve um conceito mais a frente, o de herança, mas protegido seria o que somente a classe e seus “filhos” podem ter acesso. No caso aqui, eu pensei em uma notaAnual, em que a escola e você tem acesso, outras pessoas não. O Gustavo Guanabara usou o exemplo do telefone residencial, que não é nem privado e nem publico, somente pessoas autorizadas pelo dono da casa podem ou fazer ligações ou atendê-las.


Bem pessoal, estamos chegando ao fim deste texto, e já digo logo para não esquecer: tanto atributos como método podem ser public, private ou protected. Eu coloque ali atributos, mas também poderia ter colocado métodos. Bem, esperam que tenham gostado e até a próxima!

Leia o próximo artigo: Programação Orientada a Objetos em PHP — Métodos Gettes e Settes.