Aprender Orientação a Objetos

Alguém me diz onde e como aprender orientação a objetos. Existe um bom livro e um caminho a seguir?

Você quer aprender de verdade* ou aprender o suficiente/básico**?

  • Para programar razoavelmente em Java
    ** Para ter o cocneito bem formado e trabalhar com linguagens bem adversas

Quais os dois caminhos?

Não tem muito mistério. A experiência vem com o tempo e programar, seja em java ou em qualquer outra linguagem OO, é mesmo o primeiro passo.

Mas há também coisas que podem te ajudar. Primeiramente, estude bem os conceitos. Se você ainda tem dúvida sobre o que é herança, polimorfismo, associação, volte a estudar cada um desses conceitos, em detalhes.

Também veja um pouco sobre refatoração. Manter o seu código limpo, é um passo muito importante para você mesmo não se perder.

Depois de um tempo, você deixará de se perguntar sobre como fazer um herança, para se perguntar “qual é a melhor forma de se fazer uma herança?”. Esse é o momento de estudar a aplicação desses conceitos. Procure se informar sobre Patterns. Eles te mostrarão não só o jeito “certo” de se fazer várias coisas, como também te darão exemplos de uso que você provavelmente não imaginou sozinho que reforçarão ainda mais os conceitos básicos. Você passa a aprender técnicas mais concretas.

Depois, passe a olhar criticamente os softwares de terceiros, identificando esses patterns. Existem diversas aplicações dele na linguagem java (o padrão Observer nos Listeners, o padrão Decorator nos Input/OutputStreams, etc).

Tem a dica de um bom livro, tanto de oo quanto de Pattern?

Eu to lendo

“Fundamentos do desenho orientado a objeto com UML” do Meilir Page-Jones e to gostando muito…o livro é muito bom…só a tradução que deixa um pouco a desejar…

Tem um livro da série Use a Cabeça de orientação a objetos que dizem que é muito bom tbm, mas esse eu só ouvi falar…

Acontece que literatura para este assunto é um pouco repetitiva. Você encontra muito do mesmo, os mesmos conceitos e só, batendo sempre na mesma tecla, nada que esclareça de verdade.

bom…não sei…esse livro do Page-Jones tah sendo bem esclarecedor pra mim.

Acho que se vc tah com dificuldade tvz seja melhor procurar um curso então.

Alguém conhece também um bom livro para padrões…

A literatura repetitiva que eu conheço na área é a que tenta explicar o que é uma classe, interface, método, etc. em Java ou outra linguagem. Geralmente explica mal e muitas vezes errado.

Por isso minha pergunta. OO para programar em java se aprender em qualquer bom livro para iniciantes sobre a plataforma, OO de verdade se aprende com Bertrand Meyer, Rebecca Wirfs-Brocks, Robert C. martin, Martin Fowler, Eric Evans e as referências bibliográficas destes livros. Procure por estes autores na Amazon.

[quote=pcalcado]A literatura repetitiva que eu conheço na área é a que tenta explicar o que é uma classe, interface, método, etc. em Java ou outra linguagem. Geralmente explica mal e muitas vezes errado.

Por isso minha pergunta. OO para programar em java se aprender em qualquer bom livro para iniciantes sobre a plataforma, OO de verdade se aprende com Bertrand Meyer, Rebecca Wirfs-Brocks, Robert C. martin, Martin Fowler, Eric Evans e as referências bibliográficas destes livros. Procure por estes autores na Amazon.[/quote]

Valeu mesmo, vou procurar e qualquer dúvida posto aqui…

Tenho uma dúvida quanto a geração de relatórios. Quando tenho que gerá-lo, utilizo uma classe a parte ou uma das classes de negócios de meu sistema?

Ex.: Tenho um sistema acadêmico, onde tenho os objetos Campus, Curso e Professor. Quero um relatório que me exiba em uma tabela o nome do professor, curso no qual leciona e o campus.
A pergunta é, o método que me retorna estas informações deve estar em uma destas classes ou em uma classe relatórios?

Olá amigo!
Tem duas apostilas no site da caelum www.caelum.com.br inclusive eu estou estudando a primeira delas de Orientação a objetos e achei simplesmente fantástica por ser 0800 e por apresentar os conceitos de instânciar uma classe criando um objeto etc.
Abraços…

Bom, na verdade acho que as melhores alternativas para aprender Orientação a Objetos é com apostilas que você pode encontrar na web mesmo. Pq, além de tudo, são "free"
Tem uma ótima de Prog. OO utilizando Java.
Se for sua intenção é da UNICAMP… o autor é Ivan Luiz Marques Ricarte (se bem me recordo… )
Um livro razoavelmente agradável e de fácil compreensão pode ser o . Aplicando Lógica Orientada a Objetos em Java… o nome do autor é Fernando Anselmo.

Espero ter ajudado!
Boa sorte, colega!!!

valmirbsipo e rdgc, sugiro o livro de padrões de projeto do Gamma - pesquise ai - Padrões de Projeto
Editora: Bookman
ISBN: 8573076100
Autor: Erich Gamma
Páginas: 364
Publicação: 2005

[quote=pcalcado]A literatura repetitiva que eu conheço na área é a que tenta explicar o que é uma classe, interface, método, etc. em Java ou outra linguagem. Geralmente explica mal e muitas vezes errado.

Por isso minha pergunta. OO para programar em java se aprender em qualquer bom livro para iniciantes sobre a plataforma, OO de verdade se aprende com Bertrand Meyer, Rebecca Wirfs-Brocks, Robert C. martin, Martin Fowler, Eric Evans e as referências bibliográficas destes livros. Procure por estes autores na Amazon.[/quote]

Pesquisei na Amazon… encontrei dezenas de livros desses autores. Alguns eu já conhecia, mas muitos não. Você pode indicar algum para, como vc mesmo diz: “** Para ter o conceito bem formado e trabalhar com linguagens bem adversas”.

flw.