Voltar

Classes em PHP



Em PHP, as classes são uma das funcionalidades mais poderosas da programação orientada a objetos (OOP). Elas permitem encapsular dados e funcionalidades em um único bloco de código. Vamos explorar como criar e utilizar classes em PHP com exemplos práticos.



Como Definir uma Classe

Para criar uma classe em PHP, usamos a palavra-chave class, seguida do nome da classe. Dentro da classe, podemos definir propriedades e métodos. Veja um exemplo simples:

class Carro {
  public $modelo;
  public $cor;

  public function __construct($modelo, $cor) {
    $this->modelo = $modelo;
    $this->cor = $cor;
  }

  public function exibirDetalhes() {
    echo "Modelo: " . $this->modelo . ", Cor: " . $this->cor . ".";
  }
}

$meuCarro = new Carro("Fusca", "azul");
$meuCarro->exibirDetalhes();
      

Esse código define uma classe chamada Carro, com duas propriedades $modelo e $cor, e um método exibirDetalhes() que exibe as informações do carro. O construtor __construct é utilizado para inicializar as propriedades ao criar uma nova instância da classe.



Instanciando uma Classe

Para instanciar uma classe, usamos a palavra-chave new, seguida do nome da classe. O exemplo acima já mostra como criar um objeto da classe Carro e chamar o método exibirDetalhes().



Herança em PHP

PHP permite que uma classe herde propriedades e métodos de outra classe. Isso é feito usando a palavra-chave extends. Veja um exemplo de como funciona a herança:

class Veiculo {
  public $marca;

  public function __construct($marca) {
    $this->marca = $marca;
  }

  public function exibirMarca() {
    echo "Marca: " . $this->marca . ".";
  }
}

class Carro extends Veiculo {
  public $modelo;

  public function __construct($marca, $modelo) {
    parent::__construct($marca);
    $this->modelo = $modelo;
  }

  public function exibirDetalhes() {
    echo "Marca: " . $this->marca . ", Modelo: " . $this->modelo . ".";
  }
}

$meuCarro = new Carro("Volkswagen", "Fusca");
$meuCarro->exibirDetalhes();
      

No exemplo acima, a classe Carro herda da classe Veiculo, utilizando o método parent::__construct para chamar o construtor da classe pai e inicializar a propriedade $marca. Isso demonstra como a herança permite reutilização de código.