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.