Dicas de orientação a objetos
-
Upload
evaldo-barbosa -
Category
Technology
-
view
261 -
download
0
description
Transcript of Dicas de orientação a objetos
![Page 1: Dicas de orientação a objetos](https://reader033.fdocument.pub/reader033/viewer/2022050922/559e66251a28ab46568b4678/html5/thumbnails/1.jpg)
Dicas sobreOrientação a Objetos
![Page 2: Dicas de orientação a objetos](https://reader033.fdocument.pub/reader033/viewer/2022050922/559e66251a28ab46568b4678/html5/thumbnails/2.jpg)
Analista de SistemasPresidente do Grupo PHP Maranhão
Membro da ABRAPHP
Evaldo Barbosa
![Page 3: Dicas de orientação a objetos](https://reader033.fdocument.pub/reader033/viewer/2022050922/559e66251a28ab46568b4678/html5/thumbnails/3.jpg)
![Page 4: Dicas de orientação a objetos](https://reader033.fdocument.pub/reader033/viewer/2022050922/559e66251a28ab46568b4678/html5/thumbnails/4.jpg)
Mas que raio é um objeto?
Objeto é uma classe instanciada.Uma classe é o grupo ou conjunto de características que representa
UMA coisa.
![Page 5: Dicas de orientação a objetos](https://reader033.fdocument.pub/reader033/viewer/2022050922/559e66251a28ab46568b4678/html5/thumbnails/5.jpg)
Coisas importantes da OOP
Herança Polimorfismo
VisibilidadeEncapsulamento
![Page 6: Dicas de orientação a objetos](https://reader033.fdocument.pub/reader033/viewer/2022050922/559e66251a28ab46568b4678/html5/thumbnails/6.jpg)
Polimorfismo($obj instanceof A)
![Page 7: Dicas de orientação a objetos](https://reader033.fdocument.pub/reader033/viewer/2022050922/559e66251a28ab46568b4678/html5/thumbnails/7.jpg)
Herança(Child extends Parent)
![Page 8: Dicas de orientação a objetos](https://reader033.fdocument.pub/reader033/viewer/2022050922/559e66251a28ab46568b4678/html5/thumbnails/8.jpg)
Encapsulamento(abstract class SomeClass)
![Page 9: Dicas de orientação a objetos](https://reader033.fdocument.pub/reader033/viewer/2022050922/559e66251a28ab46568b4678/html5/thumbnails/9.jpg)
Operadores de visibilidade(private, protected ou public)
![Page 10: Dicas de orientação a objetos](https://reader033.fdocument.pub/reader033/viewer/2022050922/559e66251a28ab46568b4678/html5/thumbnails/10.jpg)
É muito mais fácil explicar utilizando abstração de objetos
do que utilizando qualquer notação baseada em SQL.
(Eu, aqui e agora)
![Page 11: Dicas de orientação a objetos](https://reader033.fdocument.pub/reader033/viewer/2022050922/559e66251a28ab46568b4678/html5/thumbnails/11.jpg)
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
![Page 12: Dicas de orientação a objetos](https://reader033.fdocument.pub/reader033/viewer/2022050922/559e66251a28ab46568b4678/html5/thumbnails/12.jpg)
Objetos por si só são burros, faça-os inteligentes
![Page 13: Dicas de orientação a objetos](https://reader033.fdocument.pub/reader033/viewer/2022050922/559e66251a28ab46568b4678/html5/thumbnails/13.jpg)
Objetos por si só são burros,
faça-os inteligentes
Mapeamento dos processos: gaste tempo pensando mais e codando
menos
![Page 14: Dicas de orientação a objetos](https://reader033.fdocument.pub/reader033/viewer/2022050922/559e66251a28ab46568b4678/html5/thumbnails/14.jpg)
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
![Page 15: Dicas de orientação a objetos](https://reader033.fdocument.pub/reader033/viewer/2022050922/559e66251a28ab46568b4678/html5/thumbnails/15.jpg)
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
![Page 16: Dicas de orientação a objetos](https://reader033.fdocument.pub/reader033/viewer/2022050922/559e66251a28ab46568b4678/html5/thumbnails/16.jpg)
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é
![Page 17: Dicas de orientação a objetos](https://reader033.fdocument.pub/reader033/viewer/2022050922/559e66251a28ab46568b4678/html5/thumbnails/17.jpg)
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?
![Page 18: Dicas de orientação a objetos](https://reader033.fdocument.pub/reader033/viewer/2022050922/559e66251a28ab46568b4678/html5/thumbnails/18.jpg)
Traits, o quê?
![Page 19: Dicas de orientação a objetos](https://reader033.fdocument.pub/reader033/viewer/2022050922/559e66251a28ab46568b4678/html5/thumbnails/19.jpg)
!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.
![Page 20: Dicas de orientação a objetos](https://reader033.fdocument.pub/reader033/viewer/2022050922/559e66251a28ab46568b4678/html5/thumbnails/20.jpg)
Perguntas?
![Page 21: Dicas de orientação a objetos](https://reader033.fdocument.pub/reader033/viewer/2022050922/559e66251a28ab46568b4678/html5/thumbnails/21.jpg)
#aceito #obrigado