Herança é um conceito central na programação orientada a objetos, que permite criar novas classes com base em classes existentes. Com a herança, você pode reutilizar código e simplificar a estrutura de seus programas. Este guia te ensinará os aspectos básicos da herança em PHP e mostrará, através de um exemplo concreto, como você pode implementar este conceito efetivamente em seus projetos.
Principais descobertas
- A herança permite que você derive uma nova classe de uma classe existente.
- Propriedades e métodos da classe base são herdados pela classe derivada.
- Métodos podem ser sobrescritos na classe derivada para implementar comportamentos específicos.
Guia passo a passo sobre herança em PHP
1. Definindo a classe base
Comece definindo uma classe base. Neste exemplo, criaremos uma classe Carro, que inclui uma função básica para acelerar. Esta classe possui uma propriedade pública para a velocidade e um método para aumento de velocidade.

Com esta estrutura, nosso Carro é capaz de aumentar sua velocidade quando o método acelerar é chamado.
2. Criando uma classe derivada
Agora que nosso Carro base está definido, criaremos uma classe derivada chamada CarroDeCorrida. Esta classe expande a funcionalidade do Carro ao herdar a classe base.

Usando extends, a classe CarroDeCorrida é subordinada à classe Carro. Assim, o CarroDeCorrida tem acesso às suas propriedades e métodos.
3. Instanciando objetos
Agora podemos instanciar tanto um Carro normal quanto um CarroDeCorrida. Isso nos dá a possibilidade de testar os métodos das duas classes.

Aqui vemos que o carroNormal e o carroDeCorrida têm suas próprias instâncias e podem chamar o método acelerar.
4. Sobrescrevendo métodos
Na classe CarroDeCorrida, podemos sobrescrever o método acelerar para introduzir um comportamento mais sofisticado.

Com parent::acelerar() chamamos o método da classe pai e depois adicionamos uma lógica adicional para usar o turbo.
5. Acessando propriedades e métodos
Se você agora quiser exibir a velocidade de ambos os veículos, pode acessar a propriedade velocidade.

Essas saídas mostram as velocidades atuais de ambos os carros.
6. Entendendo a Polimorfia
Um tema central no contexto de herança é a polimorfia. Isso envolve o uso do mesmo método em diferentes contextos. Um exemplo é que tanto o Carro quanto o CarroDeCorrida têm o método acelerar, mas este é implementado de forma diferente.

Com esta funcionalidade, você pode acelerar qualquer tipo de veículo pela mesma interface.
7. Conclusão sobre a herança
A herança é uma ferramenta poderosa em PHP, que permite expandir classes existentes e criar código reutilizável. Isso permite estruturar aplicações complexas de forma eficiente. A possibilidade de sobrescrever métodos significa que você pode implementar comportamentos específicos em classes derivadas, sem ter que reescrever toda a lógica.
Resumo - Programação orientada a objetos com PHP: Entendendo a herança
O tratamento da herança em PHP permite que você mantenha uma abordagem estruturada no desenvolvimento do seu software. Você pode projetar classes para que se construam umas sobre as outras e facilitem seu trabalho.
Perguntas frequentes
Qual é a vantagem da herança em PHP?A herança promove a reutilização de código e simplifica a estrutura de software.
Como posso sobrescrever um método em uma classe derivada?Use a mesma assinatura de método e opcionalmente parent::nomeDoMetodo() para aproveitar os métodos pai.
O que é Polimorfia?Polimorfia refere-se à capacidade de implementar o mesmo método de maneira diferente, com base na instância do objeto.
O que acontece se eu sobrescrever vários métodos?Cada método pode ser projetado especificamente para a classe derivada, resultando em comportamentos diferentes.
Existem termos alternativos para herança?Sim, na literatura técnica frequentemente se fala em "derivação" ou "criação de subclasses".