PHP Classes Abstratas
As classes abstratas do PHP fornecem uma maneira de definir uma classe base que não pode ser instanciada por conta própria, mas pode ser estendida por outras classes.
Este artigo fornecerá uma visão abrangente das classes abstratas do PHP . Aqui vamos aprender como definir classes e métodos abstratos, bem como usá-los em nossos projetos de codificação.
As classes abstratas são uma parte essencial da programação orientada a objetos , permitindo que você escreva um código mais flexível e sustentável.
A classe abstrata do PHP é caracterizada pelo fato de que não pode ser instanciada diretamente em um ambiente de programação orientada a objetos (OOP), mas serve como um modelo do qual outras classes podem herdar sua funcionalidade.
A classe abstrata consiste em métodos abstratos que não possuem nenhuma implementação própria e devem ser implementados por qualquer subclasse concreta herdada da classe abstrata.
Classes e métodos abstratos do PHP
A classe abstrata e os métodos são aqueles em que uma classe pai possui um método nomeado, mas esse método precisa ser preenchido pela(s) classe(s) filha(s).
A classe abstrata é definida como a classe que contém pelo menos um método abstrato. Métodos declarados de forma abstrata não serão codificados; em vez disso, eles serão declarados, mas não implementados.
Usando a palavra-chave abstract , uma classe ou método pode ser definido como abstrato:
Sintaxe:
<?php abstract class MainClass { abstract public function method1(); abstract public function method2($name, $color); } ?>
Ao herdar de uma classe abstrata com um nome de método igual ao da classe pai, o método da classe filha deve ter um modificador de acesso menos restrito ou o mesmo modificador de acesso da classe pai.
Em outras palavras, se o método abstrato da classe pai for definido como protegido, o método da classe filha deverá ser definido como protegido ou público. Também é necessário que o tipo de argumento e o número de argumentos necessários sejam os mesmos.
Além de suas classes pai, as classes filhas podem receber argumentos opcionais.
Portanto, quando uma classe filha herda de uma classe abstrata, as seguintes regras devem ser seguidas:
- Os métodos da classe filha devem ser implementados com o mesmo nome do método da classe pai, que deve ser redeclarado.
- Esse método deve ter o mesmo ou um modificador de acesso menos restritivo que o método da classe pai.
- Deve haver o mesmo número de argumentos necessários para cada método. Além dos argumentos obrigatórios, a classe filha também pode aceitar argumentos opcionais
Para entender melhor esse conceito, vejamos um exemplo:
Example:
Exemplo de Explicação
A classe Shape é a classe pai das classes Rectangle , Triangle e Circle , todas herdadas dela.
Ao herdar a propriedade pública $name e o método público __construct() da classe Shape, é possível que as classes Rectangle, Triangle e Circle usem a propriedade pública $name e o método público __construct() da classe Shape.
Apesar disso, message() é um método abstrato e deve ser definido em todas as classes filhas também, e elas devem retornar uma string quando chamadas.
No exemplo a seguir, demonstraremos uma situação em que há um argumento fornecido para um método abstrato:
Example:
Example:
Por que usar classes abstratas do PHP?
Classes abstratas são úteis em PHP por vários motivos:
- As classes abstratas do PHP fornecem uma maneira de definir funcionalidades comuns que podem ser reutilizadas em várias subclasses.
- As classes abstratas nos permitem criar uma hierarquia de classes relacionadas, tornando mais fácil escrever código que funcione com vários objetos relacionados.
- As classes abstratas fornecem uma maneira de encapsular detalhes de implementação em uma classe base, reduzindo a duplicação de código e melhorando a capacidade de manutenção.
- As classes abstratas do PHP podem ser estendidas por outras classes para adicionar funcionalidade adicional, tornando o código mais flexível e adaptável às mudanças nos requisitos.