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
52
0
Share
Dicas de Orientação a Objetos
Pequenos tópicos sobre orientação a objetos falado no 11o. PHPub. #phpma
Evaldo Barbosa
January 10, 2014
More Decks by Evaldo Barbosa
See All by Evaldo Barbosa
Vamos falar a mesma língua
evaldobarbosa
0
23
Conhecendo o Firebase
evaldobarbosa
0
110
Web Apis
evaldobarbosa
0
46
Estendendo o HTML com diretivas AngularJS
evaldobarbosa
0
38
Montagem de equipes de software
evaldobarbosa
0
34
GET /AngularJS 200 OK
evaldobarbosa
0
66
Other Decks in Programming
See All in Programming
Migrations : C'est une question d'hygiène !
vinceamstoutz
0
2.8k
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
1.8k
AI駆動開発で崩れていくコードベースを立て直す
kyoko_nr_nr
1
410
SPMマルチモジュールで テストカバレッジを取得する技法
yosshi4486
0
140
ふつうのFeature Flag実践入門
irof
7
3.4k
プロパティの順序で型推論が壊れる!? TypeScript6.0の修正からContext-Sensitivityの仕組みを追う
bicstone
2
1.3k
CLIであることを活かしたGitHub Copilot CLI活用術 / GitHub Copilot CLI Pro Tips & Tricks
nao_mk2
1
1.2k
Inspired By RubyKaigi (EN)
atzzcokek
0
490
Oxlintのカスタムルールの現況
syumai
5
960
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
130
Oxlintはいかにしてtsgolintのlint ruleを呼び出しているのか
syumai
2
1.1k
New "Type" system on PicoRuby
pocke
1
420
Featured
See All Featured
Designing Experiences People Love
moore
143
24k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1.1k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Balancing Empowerment & Direction
lara
6
1.1k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.7k
Everyday Curiosity
cassininazir
0
220
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
520
Agile that works and the tools we love
rasmusluckow
331
21k
How STYLIGHT went responsive
nonsquared
100
6.2k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
220
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