Interfaces PHP
As interfaces PHP fornecem uma maneira de definir um conjunto de métodos que uma classe deve implementar, sem especificar como eles devem ser implementados.
As interfaces são uma ferramenta poderosa para a construção de código reutilizável fracamente acoplado e são uma parte essencial da programação moderna orientada a objetos.
O objetivo deste artigo é apresentar a você o uso de interfaces em PHP OOP , tanto em termos de criá-las quanto de implementá-las, bem como algumas práticas recomendadas que você deve seguir para que funcionem efetivamente em seu código.
Uma interface é um conjunto de métodos que devem ser implementados por uma classe, mas a própria interface não é capaz de fornecer nenhuma implementação.
Ele permite que o código seja mais flexível e extensível, pois diferentes classes são capazes de implementar a mesma interface de forma única, permitindo maior flexibilidade e extensibilidade.
O que são Interfaces PHP?
Em PHP, uma interface é uma coleção de métodos abstratos que uma classe pode implementar.
O propósito da interface PHP é especificar quais métodos devem ser implementados por uma classe.
As interfaces são uma boa maneira de facilitar o uso de uma variedade de classes diferentes para serem usadas da mesma maneira.
Existe um termo chamado “ polimorfismo ”, que se refere a uma implementação em que várias classes utilizam a mesma interface.
As interfaces são declaradas usando a palavra-chave “ interface ” e definem um conjunto de métodos que uma classe deve implementar.
Sintaxe
<?php interface InterfaceName { public function method1(); public function method2($arg1, $arg2); } ?>
Na sintaxe acima, definimos uma interface chamada “ InterfaceName ” com dois métodos abstratos chamados method1() e method2() .
Interfaces PHP – Implementação
A palavra-chave implement é usada por classes para implementar uma interface.
Para implementar uma interface em PHP , devemos criar uma classe que implemente todos os métodos definidos na interface.
Quando uma classe implementa uma interface, todos os seus métodos devem ser implementados por essa classe.
Example:
No exemplo acima, digamos que gostaríamos de escrever um software que gerencie um grupo de carros diariamente.
Existem algumas ações que todo carro é capaz de realizar, mas cada carro realiza essas ações de forma diferente.
Podemos usar interfaces para escrever algum código que possa ser usado para todos os carros, mesmo que cada um se comporte de maneira diferente do outro:
Example:
Exemplo de Explicação:
Este é um código PHP que demonstra o uso de interfaces na programação orientada a objetos.
Primeiro, uma interface chamada “ Cars ” é definida com um único método chamado “ mileage() ”. Essa interface serve como um contrato que especifica que qualquer classe que a implemente deve definir um método chamado “mileage()”.
Em seguida, são definidas três classes – “ microCar ”, “ hatchBack ” e “ familyCar ” – que implementam a interface “Cars”. Cada uma dessas classes define sua própria implementação do método “mileage()”.
Depois que as classes são definidas, é criada uma matriz chamada “$cars” que contém instâncias de cada uma das três classes.
Finalmente, um loop foreach é usado para iterar sobre os carros no array e chamar o método “mileage()” em cada um deles.
Quando este código for executado, ele exibirá a quilometragem de cada tipo de carro, conforme definido no método “mileage()” de cada classe.
Isso demonstra a flexibilidade e a extensibilidade do uso de interfaces na programação orientada a objetos, pois cada classe pode implementar a mesma interface de maneira exclusiva.
Se você gostou deste artigo e o achou informativo sobre PHP OOP, você pode deixar seu feedback reagindo abaixo.
Por que usar interfaces em PHP?
Interfaces são úteis em PHP por vários motivos:
- As interfaces PHP nos permitem criar uma hierarquia de classes relacionadas, tornando mais fácil escrever código que funcione com vários objetos relacionados.
- As interfaces fornecem uma maneira de definir um contrato entre dois componentes sem especificar como eles devem ser implementados. Isso reduz o acoplamento entre os componentes, tornando o código mais modular e fácil de manter.
- As interfaces fornecem uma maneira de definir um conjunto comum de funcionalidades que podem ser reutilizadas em várias classes.
- As interfaces PHP fornecem uma maneira de padronizar o comportamento de classes relacionadas, tornando mais fácil escrever código que funcione com diferentes implementações da mesma interface.
Interfaces PHP vs. Classes Abstratas
O conceito de interfaces é semelhante ao conceito de classes abstratas .
A principal diferença entre uma interface e uma classe abstrata é a seguinte:
- Classes abstratas podem ter propriedades, mas uma interface não pode ter nenhuma.
- No que diz respeito aos métodos de interface, todos devem ser públicos , enquanto os métodos de classes abstratas podem ser públicos ou protegidos .
- Os métodos em uma interface são todos abstratos, portanto não podem ser implementados em código e, por esse motivo, a palavra-chave abstract não é necessária.
- A implementação de uma interface pode ser feita enquanto a classe herda uma da outra ao mesmo tempo.