Orientação a Objetos Aprenda seus conceitos e suas aplicabilidades de forma efetiva
Thiago Leite e CarvalhoConteúdo
Edição atualizada em 02/2024.
Conforme a demanda por novos paradigmas que correspondessem às necessidades do dia a dia dos programadores, surgia a Orientação a Objetos, com a missão de cobrir as insuficiências do modelo estrutural. O Paradigma Orientado a Objeto tem como principal característica uma melhor e maior expressividade das nossas demandas e possibilita criar unidades de código mais próximas da forma como pensamos e agimos, facilitando o processo de transformação das necessidades diárias para uma linguagem orientada a objetos.
Neste livro, Thiago Leite demonstrará todos os seus conceitos para você utilizá-la da forma mais eficiente. Por meio de exemplos, você será iniciado nas boas práticas do uso da Orientação a Objetos para alcançar uma alta qualidade nos seus programas e tornar o processo de desenvolvimento mais produtivo e de mais fácil manutenção.
Sumário
- 1 Introdução
- 2 Um breve histórico da Orientação a Objetos
- 2.1 O conceito de Simulação
- 2.2 Da Noruega para o mundo
- 2.3 A nova roupagem da Orientação a Objetos
- 2.4 O que vem pela frente
- 3 Por que usar a Orientação a Objetos
- 3.1 Reúso
- 3.2 Coesão
- 3.3 Acoplamento
- 3.4 Gap semântico
- 3.5 Resumindo
- 3.6 Para refletir...
- 4 Introdução a Orientação a Objetos
- 4.1 Definição
- 4.2 Os fundamentos
- 4.3 Resumindo
- 4.4 Para refletir...
- 5 Os conceitos estruturais
- 5.1 A classe
- 5.2 O atributo
- 5.3 O método
- 5.4 O objeto
- 5.5 Os tipos de atributo e método
- 5.6 A mensagem
- 5.7 Putting it all together!
- 5.8 Objeto versus Referência
- 5.9 Resumindo
- 5.10 Para refletir...
- 6 Os conceitos relacionais
- 6.1 Herança
- 6.2 Associação
- 6.3 A interface
- 6.4 Resumindo
- 6.5 Para refletir...
- 7 Os conceitos organizacionais
- 7.1 Pacotes
- 7.2 Visibilidades
- 7.3 Resumindo
- 7.4 Para refletir...
- 8 A utilização
- 8.1 Colocando a mão na massa
- 8.2 Estamos quase acabando
- 9 Boas práticas no uso da Orientação a Objetos
- 9.1 BP01: se preocupe com a coesão e o acoplamento
- 9.2 BP02: use strings com parcimônia
- 9.3 BP03: seja objetivo, não tente prever o futuro
- 9.4 BP04: crie seus métodos com carinho
- 9.5 BP05: conheça e use coleções
- 9.6 BP06: sobrescreva equals, hashCode e toString
- 9.7 BP07: às vezes, é melhor associar em vez de herdar
- 9.8 BP08: se for o caso, evite a herança ou, pelo menos, a sobrescrita
- 9.9 BP09: se preocupe com o encapsulamento
- 9.10 BP10: saiba usar interface e classe abstrata no momento certo
- 9.11 BP11: evite especializar o já especializado
- 9.12 BP12: use membros estáticos com parcimônia
- 9.13 BP13: entenda sobre clonagem de objetos e conheça o método clone
- 9.14 BP14: use e abuse das facilidades fornecidas por linguagens orientadas a objetos
- 9.15 BP15: conheça e utilize as convenções de codificação da linguagem escolhida
- 9.16 Finalmente acabou!
- 10 O que vem depois da Orientação a Objetos
- 10.1 Padrões de projeto (Design Patterns)
- 10.2 Refatoração
- 10.3 UML – Unified Modeling Language (Linguagem de Modelagem Unificada)
- 10.4 Orientação a aspectos
- 10.5 Frameworks
- 10.6 Outras coisas a mais...
- 11 Referências bibliográficas
- 12 Apêndice I – A classe Object
- 13 Apêndice II – Classes internas
- 13.1 Classe membro
- 13.2 Classe estática aninhada
- 13.3 Classe local
- 13.4 Classe anônima
- 13.5 E agora?
- 14 Apêndice III - Polimorfismo
- 14.1 A ligação dinâmica
- 14.2 Polimorfismo: um exemplo real
- 14.3 Conclusão
- 15 Apêndice IV - SOLID
- 15.1 SRP: Single Responsibility Principle (Princípio da Responsabilidade Única)
- 15.2 OCP: Open/Closed Principle (Princípio do Aberto/Fechado)
- 15.3 LSP: Liskov Substitution Principle (Princípio de Substituição de Liskov)
- 15.4 ISP: Interface Segregation Principle (Princípio da Separação de Interfaces)
- 15.5 DIP: Dependency Inversion Principle (Princípio da Inversão de Dependência)
- 15.6 Conclusão
- 16 Apêndice V – Respostas
- 16.1 Capítulo 3
- 16.2 Capítulo 4
- 16.3 Capítulo 5
- 16.4 Capítulo 6
- 16.5 Capítulo 7
Autor
Thiago Leite
Thiago Leite é Mestre em Computação, analista de sistemas sênior da empresa de tecnologia do governo federal, onde também atua como instrutor. Atuou como professor universitário durante 8 anos, ministrando cadeiras de programação (front-end e back-end), engenharia de software, estrutura de dados, teoria da computação e compiladores. Entusiasta da plataforma Java, atua na área com esta linguagem desde 2003, possuindo 3 certificações. Também já trabalhou com a plataforma .Net por 4 anos. Gosta de estudar continuamente, principalmente sobre teorias e melhores práticas da Orientação a Objetos, Qualidade de Código e Arquitetura de Software. Além disto, contribui e possui projetos open source e cursos no Udemy. Para mais informações, acessar https://br.linkedin.com/in/thiago-leite-e-carvalho-1b337b127
Dados do produto
- Número de páginas:
- 384
- ISBN:
- 978-85-5519-213-5
- Data publicação:
- 09/2016. Atualizado em 02/2024.