# Programação Orientada a Objetos: Uma Abordagem com Java/Prefácio

Programação Orientada a Objetos -- uma abordagem com Java é um conjunto de notas de apoio a um curso sobre a linguagem de programação Java. A ênfase principal é de tentar estabelecer conceitos de boa programação, aplicáveis a qualquer linguagem, ao invés de técnicas ou mecanismos específicos dessa linguagem.
O material original foi disponibilizado na forma de hipertexto na World-Wide Web, entre os anos de 1998 e 2001. Nunca foi o objetivo ser uma referência completa sobre Java. No entanto, ele pode vir a complementar outras publicações sobre essa linguagem de programação e sobre o paradigma de programação orientada a objetos.
Um importante complemento ao material, essencial para o desenvolvimento das atividades, é a especificação da API Java, disponibilizada e distribuída (na época pela empresa Sun, atualmente pela Oracle) no seu site, disponível em http://docs.oracle.com/javase/8/docs/api/. Ao longo deste hipertexto, várias referências são feitas àquela documentação, sendo fundamental que se tenha acesso às informações referenciadas. Compreender a estrutura dessa documentação e saber encontrar seu caminho nesse mundo de informação é um passo importante no sentido de aproveitar melhor o tempo investido no estudo deste material.
Aprender a programar, independentemente da linguagem de programação ou das ferramentas que sejam utilizadas, requer antes de mais nada prática. Felizmente, é possível configurar um ambiente de desenvolvimento Java sem investir altas somas. Há excelentes ambientes à disposição e novas ferramentas surgem a cada dia. Para executar os exemplos e desenvolver as atividades propostas nesse material, nada além do básico -- um editor de programas e o kit de desenvolvimento Java disponibilizado em http://www.oracle.com/technetwork/pt/java/javase/ para as plataformas Windows, MacOs, Solaris e Linux -- é necessário.
A opção por um ambiente e/ou conjunto de ferramentas depende sempre de preferências pessoais e disponibilidade de recursos; por esse motivo, tenho por princípio não oferecer recomendações que envolvam ferramentas comerciais. Na edição original deste texto, além do kit de desenvolvimento Java, foi adotada uma configuração de ambiente de desenvolvimento baseada no Sistema operacional Linux (RedHat), com editor XEmacs com o pacote JDEE (Java Development Environment for Emacs). Versões atualizadas usaram ambientes integrados de desenvolvimento, como NetBeans (disponível em http://netbeans.org) ou Eclipse (disponível em http://www.eclipse.org/). Qualquer uma dessas configurações é mais do que suficiente para executar os exemplos e exercícios propostos ao longo desse texto.
Finalmente, uma última palavra de aviso sobre o conteúdo desse material -- não espere encontrar aqui uma versão completa de um curso a distância pela Internet. O material foi composto e está sendo continuamente atualizado por diversas notas de apoio a aulas, estando permanentemente em processo de revisão e complementação. A interação com alunos e a própria evolução da linguagem Java motivam esse processo constante de atualização do material. Infelizmente, não é possível responder pessoalmente a todas as mensagens que chegam com sugestões e dúvidas, mas essas realimentações são sempre bem vindas.