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);
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:
Dúvidas ou sugestões? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits
Sobre o Autor
0 Comentários