Bora ajudar o programador a transformar café em código?

PHP - O que são Classes e Objetos

Neste tutorial vamos (tentar) te ensinar os conceitos de Classe e Objetos em PHP, a base fundamental da programação orientada a objetos.

Não deixe de ver: Apostila de PHP para Download

Classes e Objetos

O conceito mais importante, de longe, para você entender, é o de classe e o de objeto. E também é considera o mais difícil, pois a definição é muito técnica, muito abstrata, mas vamos tentar resolver isso depois com exemplo do mundo real.

Classes são, em suma, entidades, com suas características e conceitos próprios, como pessoas, veículos, lugares, coisas abstratas, genéricas.
Cada entidade é definida por um conjunto de características e comportamentos específicos daquela classe.

As classes é como se fossem uma 'receita' um 'template' de algo tangível, e esse tangível são os objetos.
Tudo ao seu redor é um objeto. Classes são apenas ideias, generalizações, conceitos, objeto é a parte tangível, existencial da classe.

Calma, você não vai precisar fumar um pra entender essa viagem toda, vamos partir para o mundo real e entender de fato o que são classes e objetos.

A Classe Pessoa

Pessoa é uma classe, é uma generalização.
Pessoa tem cabeça, tem coração, tem cérebro, tem membro, tem órgãos, tem nome...mas você não conhece nenhuma Pessoa.

"Como não, PHP Progressivo, ta louco de pedra, tio? Claro que conheço pessoas"

Não, amigo.
Você conhece sua mãe, seu pai, o João, a Maria.
Você conhece pessoas específicas.

Você não chega em ninguém e essa pessoa diz:
- Oi, sou pessoa. Tenho nome, e tenho emprego. Tchau.

Não, ela diz.
- Sou Maria, sou programadora Web e rica pra caramba.

Pessoa é uma classe, uma generalização, um conceito.
Os objetos é que são reais, a Maria é um objeto, você é um Objeto.

A classe reúne características que todos os objetos tem:
Todo objeto da classe Pessoa tem nome, tem RG, alguns tem profissão outros não, todos tem pais (embora alguns conheçam ou não)...a classe é uma 'receita' de criar objetos. Entendeu?

Vamos pra mais um exemplo?

A Classe Carro

Carro é um belo exemplo de classe.
Ele tem suas funções e características.
Ele serve para se locomover, para refrigerar o ar interno, para prover um somzinho interno, para buzinar, as suas várias partes cumprem cada uma de suas funções...e tem suas características, cada carro tem sua cor, tem seu número de porta, motorização, tipo de câmbio.

Mas você não chega numa concessionária:
- Olá, quero um carro
- Ok, aqui está um carro
- Obrigado, vou levar
- É seu, você comprou
- Vou dirigir meu carro

Não, carro é uma classe, é uma abstração.
Você compra objetos: você compra Gol, Celta, Uno, Civic, Corolla...esses são objetos da classe Carro.
São exemplos específicos.

Chamamos instâncias.
A instância Uno tem 2 ou 4 portas, motor 1.0, é bem básico, não tem muita coisa de fábrica.
Já a instância Corolla, também é um carro, possui motor 2.0 e é mais completo.

Mas todas as instâncias possuem coisas em comum:
Possuem portas
Possuem motor
Possuem cor
Possuem peças fazendo funções

Ou seja, classes são uma espécie de 'receitas' para fazer os objetos.

E aí, deu pra entender melhor ?
Notou que vivemos em um mundo de objetos?

Veja também

O melhor PC para programar

O melhor celular para programar