Use o código e tenha 10% de desconto!

Orientação a Objetos Aprenda seus conceitos e suas aplicabilidades de forma efetiva

Thiago Leite e Carvalho

SOBRE O LIVRO

Quando comecei a ministrar a cadeira de Programação Orientada a Objetos I, vi que no mercado não existiam livros de Orientação a Objetos (OO). Havia na verdade livros de Java, C#, Ruby, Python etc., mas Orientação a Objetos mesmo não. Esses livros focam mais na linguagem em si e mal falam de OO e, quando falam, é muito focado na linguagem. Devido a isso, alguns conceitos terminavam sendo omitidos ou pouco explorados.

Todo semestre era uma dificuldade disponibilizar uma referência bibliográfica para os alunos que tinham acabado de sair da cadeira de lógica de programação. Eles aprenderam com C como programar de forma estruturada, mas na hora de avançar para a Orientação a Objetos, sempre perguntavam: "Professor, você pode indicar um bom livro de Orientação a Objetos?". Eu dizia: "Orientação a Objetos mesmo não, mas temos o livro X que fala da linguagem Y. Ele tem um capítulo que aborda alguns conceitos de OO. Ou seja, não temos livro de Orientação a Objetos".

Foi baseado nisto que decidi escrever este livro. Seu público-alvo é alunos que acabaram de sair da cadeira de lógica de programação, ou até mesmo os que passaram por uma cadeira de OO, mas sentem que ainda falta "algo a mais". Também podem ser um bom público para este livro profissionais que estão há mais tempo no mercado de trabalho e só agora estão tendo a oportunidade ou necessidade de se aventurar na Orientação a Objetos.

O objetivo deste livro é focar e explicar da melhor forma possível todos os conceitos deste paradigma de programação. Nenhuma linguagem em si será o alvo deste livro, pois os conceitos aqui explicados podem ser aplicados em qualquer uma que implemente tal paradigma. Vai ser uma decisão de projeto de cada linguagem disponibilizar ou não os conceitos aqui explicados.

 Entretanto, para alguns conceitos ficarem mais claros, é necessário demonstrá-los em uma linguagem de programação que segue o paradigma orientado a objeto. Neste caso, nada melhor que usar Java e C# como linguagens de exemplo, pois são as mais utilizadas no mercado no momento.

Além de apresentar todos os conceitos bases de OO, vamos também iniciar o leitor em algumas boas práticas no uso deste paradigma de programação. Para isto, usaremos um exemplo prático da vida real. Inicialmente, pensei também em colocar alguns conceitos avançados no uso da Orientação a Objetos. Porém, no processo de pesquisa do material bibliográfico, terminei me deparando com o livro Orientação a Objetos e SOLID para Ninjas, do colega Maurício Aniche. Vi que esse livro tinha justamente o que queria falar e já estava dito de uma forma muito bem elaborada.

Além dele, o livro Object-Oriented Analysis and Design — A Brain Friendly Guide to OOA&D, da série Head First, também é muito bom sobre esta parte. Então decidi não mais escrever sobre isto, mas aconselho fortemente a leitura destes livros após o meu. Ou seja, este livro vai do básico ao intermediário. Já esses outros possuem conteúdos um pouco mais avançados.

Este livro está estruturado da seguinte forma:

* Primeiro vamos ter uma rápida introdução sobre o que é e por que usamos a programação.

* Depois vamos saber a origem da OO.

* Em seguida, veremos por que usá-la.

* Após isso, o que a OO nos disponibiliza?

* Tendo em mãos as ferramentas, como usá-las?

* Como usá-las da melhor forma?

* Como usá-las da melhor forma?

Espero que a leitura seja agradável e enriquecedora. Trabalhei, com a ajuda da Casa do Código, de forma árdua para explicar da forma mais amigável e instigante os conceitos da OO. Este livro é a realização de um projeto que visa fornecer bases sólidas no uso da OO e levar qualquer projeto e profissional, de TI e do ramo de desenvolvimento, ao sucesso. Agradeço a escolha deste livro.

Muito Obrigado e... 

"Que a força esteja com você" — Obi-Wan Kenobi 

 

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
  • 4 Introdução a Orientação a Objetos
    • 4.1 Definição
    • 4.2 Os fundamentos
    • 4.3 Resumindo
  • 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 Resumindo
  • 6 Os conceitos relacionais
    • 6.1 Herança
    • 6.2 A associação
    • 6.3 A interface
    • 6.4 Resumindo
  • 7 Os conceitos organizacionais
    • 7.1 Pacotes
    • 7.2 Visibilidades
    • 7.3 Resumindo
  • 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 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: use e abuse das facilidades fornecidas por linguagens orientadas a objetos
    • 9.12 BP12: conheça e utilize as convenções de codificação da linguagem escolhida
    • 9.13 Finalmente acabou!
  • 10 O que vem depois da Orientação a Objeto
    • 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

Dados do produto

Número de páginas:
238
ISBN:
978-85-5519-213-5
Data publicação:
09/2016

Compartilhe!

Compartilhe no Facebook Compartilhe no Twitter