A Programação Orientada a Objetos (POO) é um dos paradigmas mais utilizados no desenvolvimento de software moderno. Em PHP, a orientação a objetos permite criar códigos mais organizados, reutilizáveis e fáceis de manter. Neste artigo, vamos entender os principais conceitos da POO em PHP com alguns exemplos práticos e simples.
O que é Programação Orientada a Objetos?
A POO é baseada no conceito de “objetos”, que são instâncias de “classes” representando um objeto do mundo real. Assim como cada objeto real tem suas características e funções cada classe pode conter atributos (propriedades) e métodos (funções).
Benefícios da POO:
- Modularidade
- Reutilização de código
- Facilidade de manutenção
- Clareza e organização
1. Classes e Objetos
Uma classe é um modelo que define o comportamento e as características de um objeto que será instanciado.
<?php
class Pessoa {
public $nome;
public $idade;
public function apresentar() {
echo “Olá, meu nome é $this->nome e tenho $this->idade anos.”;
}
}
// Criando um objeto
$p1 = new Pessoa();
$p1->nome = “Ana”;
$p1->idade = 28;
$p1->apresentar();
Explicação:
Pessoa
é a classe.$nome
e$idade
são propriedades.apresentar()
é um método.$p1
é um objeto da classePessoa
.
Desta forma podemos criar nosso objeto tanto dentro do mesmo arquivo quanto em um arquivo externo, para isso devemos nos referir ao arquivo:
//Arquivo 2
<?php
require __DIR__.“/PrimeiraClasse.php”;
$p1 = new Pessoa();
$p1->nome = “Ana”;
$p1->idade = 28;
$p1->apresentar();
Lembrando que o nome do arquivo deve ser o mesmo nome da classe criada nele.
2. Encapsulamento
Encapsulamento é o ato de esconder os detalhes internos como variáveis e funções de um objeto e expor apenas o que é necessário.
<?php
class ContaBancaria {
private $saldo = 0;
public function depositar($valor) {
if ($valor > 0) {
$this->saldo += $valor;
}
}
public function verSaldo() {
return $this->saldo;
}
}
$conta = new ContaBancaria();
$conta->depositar(500);
echo “Saldo atual: R$ ” . $conta->verSaldo();
Detalhes:
private
impede o acesso direto ao atributo independente de onde esteja chamando.- protected impede o acesso de outros arquivos que não estejam herdando a classe.
- public deixa o acesso livre para qualquer arquivo ou objeto.
- O acesso no exemplo é feito por métodos públicos (getters/setters).
3. Herança

A herança permite que uma classe herde propriedades e métodos de outra.
<?php
class Animal {
public function emitirSom() {
echo "Som genérico de animal.";
}
}
class Cachorro extends Animal {
public function emitirSom() {
echo “Latido: au au!”;
}
}
$dog = new Cachorro();
$dog->emitirSom(); // Saída: Latido: au au!
Observações:
extends
define a herança.- Podemos sobrescrever métodos com a mesma assinatura.
4. Polimorfismo
Polimorfismo é a capacidade de um mesmo método ter comportamentos diferentes em classes diferentes.
<?php
function fazerAnimalEmitirSom(Animal $animal) {
$animal->emitirSom();
}
$cachorro = new Cachorro();
$gato = new class extends Animal {
public function emitirSom() {
echo “Miau!”;
}
};
fazerAnimalEmitirSom($cachorro); // Latido: au au!
fazerAnimalEmitirSom($gato); // Miau!
5. Abstração
Abstração permite criar classes genéricas que não podem ser instanciadas diretamente, forçando a implementação de certos métodos nas classes filhas.
<?php abstract class Forma { abstract public function calcularArea(); } class Quadrado extends Forma { private $lado; public function __construct($lado) { $this->lado = $lado; } public function calcularArea() { return $this->lado * $this->lado; } } $q = new Quadrado(4); echo “Área do quadrado: ” . $q->calcularArea();
Outros Conceitos Importantes
- Interfaces: contratos que as classes devem seguir.
- Traits: reutilização de código entre classes.
- Namespace: organização do código em módulos.
Conclusão
A Programação Orientada a Objetos em PHP é uma ferramenta poderosa para criar aplicações bem estruturadas e escaláveis. Neste artigo, você viu os conceitos fundamentais de forma prática e direta. Com a prática, você vai perceber como a POO torna seu código mais claro e sustentável.
Após esta breve explicação, não deixe de conferir a documentação oficial do PHP.
Próximos passos
- Aprenda sobre interfaces e traits
- Explore design patterns com PHP
- Desenvolva um pequeno projeto orientado a objetos, como um sistema de cadastro de usuários
Se você curtiu este conteúdo, acompanhe o blog para mais artigos sobre PHP, boas práticas, frameworks como Laravel, e muito mais!