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.