Dicas sobre
Orientação a Objetos
Evaldo Barbosa

Analista de Sistemas
Presidente do Grupo PHP Maranhão
Membro da ABRAPHP
Mas que raio é um objeto?

Objeto é uma classe instanciada.
Uma classe é o grupo ou conjunto
de características que representa
UMA coisa.
Coisas importantes da OOP
Herança

Encapsulamento

Polimorfismo

Visibilidade
Polimorfismo
($obj instanceof A)
Herança
(Child extends Parent)
Encapsulamento
(abstract class SomeClass)
Operadores de visibilidade
(private, protected ou public)
É muito mais fácil explicar
utilizando abstração de objetos
do que utilizando qualquer
notação baseada em SQL.
(Eu, aqui e agora)
Como a orientação a objetos
ajuda no aprendizado?
Objetos simulam
coisas

Coisas interagem
entre si

Interações são
processos entre
objetos

Objetos
encapsulam
processos
Objetos por si só são burros,
faça-os inteligentes
Objetos por si
só são burros,
faça-os
inteligentes

Mapeamento dos
processos: gaste
tempo pensando
mais e codando
menos
Objetos por si
só são burros,
faça-os
inteligentes

Classes abstratas
encapsulam
processos comuns:
os pais protegem o
patrimônio e os
filhos usam sem
gastar
Objetos por si
só são burros,
faça-os
inteligentes

Pense em
interfaces e não
nos objetos
concretos:
abstração é a
saída
Objetos por si
só são burros,
faça-os
inteligentes

Inverta a
dependência
entre os objetos:
aproveite o tempo
que sobra para o
café
Tá, mas e o banco de dados?

Estude os ORMs padrão de
mercado e veja se eles te atendem.
Se não, use Reflection e crie o que
te fará feliz.
Traits, o quê?
!

Um sistema baseado nas suas
classes de domínio e não somente
nas entidades de banco é mais
fácil de manter. É altamente
testável.
Perguntas?
#aceito #obrigado

Dicas de orientação a objetos