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 funciona em PHP.



Encapsulamento

O encapsulamento permite que você controle o acesso às propriedades de uma classe. Em PHP, isso é feito utilizando os modificadores de visibilidade public, private e protected.

class ContaBancaria {

  private $saldo;

  public function __construct($saldoInicial) {

    $this->saldo = $saldoInicial;

  }

  public function depositar($valor) {

    $this->saldo += $valor;

  }

  public function exibirSaldo() {

    echo "Saldo: " . $this->saldo . " reais.";

  }

}


$conta = new ContaBancaria(1000);

$conta->depositar(500);

$conta->exibirSaldo();

No exemplo acima, a propriedade $saldo é private, o que significa que ela não pode ser acessada diretamente de fora da classe. Para manipulá-la, usamos métodos públicos como depositar e exibirSaldo.



Considerações Finais

As classes em PHP são uma ferramenta poderosa para organizar o código e promover a reutilização. O uso de conceitos como herança e encapsulamento permite que você crie sistemas mais eficientes e seguros. Sempre use boas práticas de OOP para escrever código mais limpo e fácil de manter.