Interfaces de Objetos

Patrick Augusto
2 min readNov 19, 2021

Salve! Chegamos em mais uma sexta-feira, sinta-se a vontade novamente por aqui, hoje iremos conversar sobre o uso de interfaces no PHP!

O que são Interfaces?

Usualmente, as interfaces são referenciadas como se fossem um “contrato” que a classe precisa seguir, obrigatoriamente. Caso ela não siga esse contrato, ela é inválida.

Por exemplo, como uma forma de padronização, você quer que em uma classe ou em um conjunto de classes, exista um método padrão. E pra garantir que esse método vai estar na classe, você faz um contrato com ela usando a interface. Vou mostrar no código:

Aqui temos uma interface chamada ‘metodoPadrao’, que tem uma função chamada ‘texto’. Olhando assim, você pode até achar estranho, mas é isso mesmo. Na interface, apenas declaramos o nome da função e o conteúdo vai ficar por conta da classe!

Lembra que falei sobre contrato? Quando criamos a interface estamos criando esse contrato, agora, quando formos implementar essa interface na classe, ela terá que seguir esse contrato!

Dá uma olhada:

Quando criamos a classe, vamos usar o operador implements e em seguida o nome da interface. Agora, somos obrigados a declarar a função texto e o conteúdo nela, se não colocar o PHP vai gerar um erro fatal quando você instanciar a classe, ou seja, os advogados irão atrás de você por não cumprir o contrato 💃

Agora, algumas observações importantes:

1- O método na interface não pode ter conteúdo.

2- Caso o método precise ter parâmetro, precisa também ser incluso na interface quando declarado o método.

3- É possível uma classe implementar várias interfaces ao mesmo tempo.

4- É possível que uma interface herde outra interface. Nesse caso, na interface filha não precisa declarar o método da interface mãe novamente, só precisaria na classe, do jeito padrão.

Caso ainda tenha ficado um pouco de dúvida no assunto, vou dar um exemplo mais “real”.

Imagine um controle remoto de televisão, tudo o que você olha no controle, é uma interface. Quando você aperta o botão alguns métodos são chamados pra realizar aquele objetivo.

Nesse caso, podemos ter os métodos na interface:

E quando criarmos a parte funcional, obrigatoriamente teremos esses métodos fazendo suas respectivas funções!

Sobre interface, é isso! Deixa a palminha aí e é nois!

--

--

Patrick Augusto

Sou programador e músico, aqui quero compartilhar pensamentos, ideias, e principalmente anotações de estudos. Pra me ajudar, e quem sabe, ajudar alguém!