Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Dicas de Orientação a Objetos
Search
Evaldo Barbosa
January 10, 2014
Programming
0
40
Dicas de Orientação a Objetos
Pequenos tópicos sobre orientação a objetos falado no 11o. PHPub. #phpma
Evaldo Barbosa
January 10, 2014
Tweet
Share
More Decks by Evaldo Barbosa
See All by Evaldo Barbosa
Vamos falar a mesma língua
evaldobarbosa
0
18
Conhecendo o Firebase
evaldobarbosa
0
96
Web Apis
evaldobarbosa
0
38
Estendendo o HTML com diretivas AngularJS
evaldobarbosa
0
31
Montagem de equipes de software
evaldobarbosa
0
26
GET /AngularJS 200 OK
evaldobarbosa
0
58
Other Decks in Programming
See All in Programming
AWS CDKコントリビュートTIPS / aws-cdk-contribution-tips
gotok365
4
360
Go製Webアプリケーションのエラーとの向き合い方大全、あるいはやっぱりスタックトレース欲しいやん / Kyoto.go #50
utgwkk
6
1.7k
PHPはいつから死んでいるかの調査
chiroruxx
2
410
敵対的ポイフル
futabato
0
130
Git Lint
bkuhlmann
4
760
Scalable Customer Journey Orchestration (CJO)
lewuathe
0
420
Node.js v22 で変わること
yosuke_furukawa
PRO
11
3.9k
R言語の環境構築と基礎 Tokyo.R 112
bob3bob3
0
280
雑に思考を整理する技術と効能
konifar
63
30k
Hanami and htmx
bkuhlmann
0
220
GitLab CI/CD で C#/WPFアプリケーションのテストとインストーラーのビルド・デプロイを自動化する
hacarus
0
130
新宿ダンジョンを可視化してみた
satoshi7190
3
380
Featured
See All Featured
How to name files
jennybc
65
93k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
275
13k
Designing for humans not robots
tammielis
248
25k
Art, The Web, and Tiny UX
lynnandtonic
290
19k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
14
1.5k
Optimising Largest Contentful Paint
csswizardry
12
2.4k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
660
120k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
20
1.6k
Unsuck your backbone
ammeep
663
57k
Become a Pro
speakerdeck
PRO
13
4.6k
jQuery: Nuts, Bolts and Bling
dougneiner
59
7.2k
Design by the Numbers
sachag
274
18k
Transcript
Dicas sobre Orientação a Objetos
Analista de Sistemas Presidente do Grupo PHP Maranhão Membro da
ABRAPHP Evaldo Barbosa
None
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 Polimorfismo Visibilidade Encapsulamento
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 Objetos encapsulam processos Interações são processos entre objetos
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é
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. Tá, mas e o banco de dados?
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