PHP

Abstração em PHP

Abstração em PHP é a possibilidade de criar classes focando suas características mais básicas, sem a preocupação de como essas características ocorrem.

É um processo com leves semelhanças com as interfaces, com a diferença que a abstração utiliza a definição de métodos nas classes-pai para serem implementados nas classes-filhas, enquanto interfaces definem métodos que podem ser implementados em classes que tenham determinado comportamento em comum, apesar de serem totalmente distintas.

Para manipular abstrações, é necessário utilizar o operador abstract, como mostra o código abaixo:

 abstract class Pais //classe abstrata
 {
  abstract protected function formatarValor($valor); //método definido como abstrato
  public function exibirValor($valor)
  {
    echo $this -> formatarValor($valor);
  }
 }
 class Brasil extends Pais //classe Brasil herda da classe Pais
 {
  protected function formatarValor($valor) //implementação do método abstrato
  {
   return "R$ ".$valor."<BR>";
  }
 }
 class EUA extends Pais //classe EUA herda da classe Pais
 {
  protected function formatarValor($valor) //implementação do método abstrato
  {
   return "U$ ".$valor."<BR›";
  }
 }
	
 //criação dos objetos de cada tipo
 $pais1 = new Brasil();
 $pais2 = new EUA();
	
 $valor = 35;
	
 $pais1 -> exibirValor($valor); //Resultado: R$35
 $pais2 -> exibirValor($valor); //Resultado: U$35
DESEJA APRIMORAR SEUS CONHECIMENTOS EM PHP ORIENTADO A OBJETOS?

Então conheça o curso online que já ajudou milhares de pessoas a aprender a programar e desenvolver seus próprios projetos do ZERO.

CLIQUE NA IMAGEM ABAIXO E SAIBA MAIS:

Link do curso: https://go.hotmart.com/A18082772K

Polimorfismo em PHP

Dúvidas ou sugestões? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits

Bene Silva Júnior

Bacharel em Sistemas de Informação pelo Instituto Paulista de Pesquisa e Ensino IPEP. Apaixonado por tecnologias e games do tempo da vovó!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *