Classes em PHP

Uma classe é um modelo criado para representar um conjunto de objetos com características semelhantes, como informações e comportamentos. Neste post veja classes em PHP.

Basicamente, a criação de uma classe é formada por seu nome e chaves {}, mesmo que vazias e sem conteúdo, o que indicaria uma classe sem atributos, sem métodos e com construtor-padrão.

Construtor é o nome do método de inicialização da classe, que é sempre executado por primeiro ao criar um objeto.

Esse método pode ser definido pelo usuário, por meio da função _construct, ou omitido, fazendo com que o PHP utilize um construtor-padrão (sem receber parâmetros) para a classe em questão.

Toda definição de classe começa com a palavra-chave class, seguido por um nome da classe, que pode ser qualquer nome que não seja uma palavra reservada no PHP, seguido por um par de chaves, que contém a definição dos membros e métodos da classe.

Uma pseudo variável, $this, está disponível quando um método é chamado dentro de um contexto de objeto. 

$this é uma referência para o objeto chamador do método (normalmente o objeto ao qual o método pertence, mas pode ser outro objeto, se o método é chamado estaticamente no contexto de um objeto secundário).

Isso é ilustrado no exemplo a seguir:

 class Pessoa {
   public $nome;
	 
   public function falar() {
    return "Meu nome é ".$this->nome;
  }
 }
 
 $benedito = new Pessoa(); //instância a classe Pessoa (cria o objeto $benedito)
 $benedito->nome = "Benedito Silva Júnior"; //atribuímos o atributo nome a variável $benedito
 echo $benedito->falar(); //mostra o valor retornado do método falar()

$this é uma variável interna do PHP que serve para referenciar atributos e métodos dentro de outros métodos.

Classes abstratas

Classes abstratas são modelos para que outras classes possam herdá-las. Para que seja possível utilizar os recursos de uma classe abstrata, primeiro é preciso criar uma classe mas especializada, herdando diretamente dela.

A partir daí instanciar essa nova classe. As funções da classe abstrata estarão presentes na classe que será herdada.

 interface Veiculo {
  
  public function acelerar ($velocidade);
  public function frear ($velocidade);
  public function trocarMarcha($marcha);
 }

 Classe abstrata Automovel implementa classe Veiculo
 abstract class Automovel implements Veiculo {

  public function acelerar($velocidade)
  {
    echo "O veículo acelerou até ". $velocidade ." km/h.";
  }
	
  public function frear($velocidade)
  {
    echo "O veículo frenou até ". $velocidade ." km/h.";
  }
	
  public function trocarMarcha($marcha)
  {
    echo "O veículo engatou a marcha ". $marcha .".";
  } 
}

 /*A classe Celta herda a classe Automovel, 
 já que não é possível herdar a classe Veiculo diretamente */
 class Celta extends Automovel {
 
 public function lavar() {
 
 }
}
  //Não é possível instanciar diretamente a classe Automovel
  //$carro = new Automovel();
  
  $carro = new Celta();
  $carro->acelerar(100);
QUER APRENDER PHP ORIENTADO A OBJETOS OU APERFEIÇOAR O QUE JÁ SABE?

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 e usando orientação a objetos de uma forma fácil de entender.

CLIQUE NA IMAGEM ABAIXO E SAIBA MAIS:

CLIQUE AQUI E SAIBA MAIS

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

Tags: | |

Sobre o Autor

Benedito Silva Júnior
Benedito 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ó!

0 Comentários

Deixe um comentário

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