Classes Abstratas no PHP – Como funciona?

Classes abstratas são especiais porque elas nunca podem ser instanciadas. Ao invés disso, obriga o desenvolvedor a herda-la como um conjunto de propriedades e métodos base para a nova classe.

Por este motivo, elas são classes que são comumente usadas como classes-base. Neste artigo, vou te mostrar como funciona as classes abstratas no PHP, com um exemplo simples.

O que são classes abstratas?

Talvez a melhor definição para classes abstratas seja um modelo, para que outras classes possam herda-las.

Para se utilizar os recursos de uma classe abstrata, é primeiro necessário criar uma classe mais especializada – herdando diretamente dela. Então, instanciar esta nova classe. As funções da classe abstrata estarão presentes na classe que será herdada.

 

Conceito básico de classe abstrata

Neste exemplo, vamos criar uma classe chamada Animal. E a partir dela, vamos criar a classe Cachorros.

Um método também pode ser marcado como abstrato. Quando você marcar a função como abstrata, você também deve marcar a classe como abstrata obrigatoriamente. Outro ponto que você deve notar é que, ao colocar um método como abstrato, você também não poderá adicionar nenhum trecho de código nele.

Uma classe abstrata pode também conter métodos não abstratos, o que nos dá o poder de implementar funcionalidades básicas.

Criando uma classe abstrata em PHP

Vamos

 

abstract class Animal
{
public $nome;
public $idade;

public function descreverAnimal()
{
return $this->name . ", " . $this->age . " anos";
}

abstract public function agir();
}

Como você pode ver no exemplo acima, temos algumas diferenças de uma classe concreta. A primeira é a palavra reservada abstract, que é usada antes da classe. Todas as classes de animais (como Gato, Cão, Leão) serão implementações dela.

class Cachorro extends Animal

{
public function agir()
{
return "Au Au!";
}

public function descreverAnimal()
{
return parent::Describe() . ", e eu sou um cão!";
}
}

Como você pode ver, nós implementamos as funções da classe animal. O método agir, foi forçado a ser implementado e neste caso, retorna apenas um som comum do tipo de animal que criamos.

 

Classes Abstratas no PHP – Como funciona?
5 (100%) 1 vote

Deixe um comentário