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
49
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
21
Conhecendo o Firebase
evaldobarbosa
0
100
Web Apis
evaldobarbosa
0
42
Estendendo o HTML com diretivas AngularJS
evaldobarbosa
0
34
Montagem de equipes de software
evaldobarbosa
0
30
GET /AngularJS 200 OK
evaldobarbosa
0
61
Other Decks in Programming
See All in Programming
Android 16 × Jetpack Composeで縦書きテキストエディタを作ろう / Vertical Text Editor with Compose on Android 16
cc4966
2
250
AIと私たちの学習の変化を考える - Claude Codeの学習モードを例に
azukiazusa1
10
4.3k
FindyにおけるTakumi活用と脆弱性管理のこれから
rvirus0817
0
520
Kiroで始めるAI-DLC
kaonash
2
610
ProxyによるWindow間RPC機構の構築
syumai
3
1.2k
GitHubとGitLabとAWS CodePipelineでCI/CDを組み比べてみた
satoshi256kbyte
4
240
知っているようで知らない"rails new"の世界 / The World of "rails new" You Think You Know but Don't
luccafort
PRO
1
170
Performance for Conversion! 分散トレーシングでボトルネックを 特定せよ
inetand
0
1.9k
今だからこそ入門する Server-Sent Events (SSE)
nearme_tech
PRO
3
240
さようなら Date。 ようこそTemporal! 3年間先行利用して得られた知見の共有
8beeeaaat
3
1.5k
アルテニア コンサル/ITエンジニア向け 採用ピッチ資料
altenir
0
110
ファインディ株式会社におけるMCP活用とサービス開発
starfish719
0
1.8k
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
56
13k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
How STYLIGHT went responsive
nonsquared
100
5.8k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
What's in a price? How to price your products and services
michaelherold
246
12k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.1k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Why Our Code Smells
bkeepers
PRO
339
57k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.2k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
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