Everton Coimbra de Araújo Orientação a Objetos com Java Simples, Fácil e Eficiente Visual Books
Sumário Prefácio... 11 Introdução... 13 1 Introdução à Orientação a Objetos... 17 1.1 Conceitualização... 17 2 Ferramenta para Implementação... 23 2.1 Instalação do Java e do Eclipse... 23 2.2 Testando o Java... 24 2.3 Testando o Funcionamento do Eclipse... 30 2.4 Organização dos Arquivos no Eclipse... 31 2.4.1 Nomenclatura... 31 3 Iniciando a Implementação em Orientação a Objetos... 33 3.1 O Primeiro Problema a ser Resolvido... 33 3.2 Fazendo Uso de Modelos... 35 3.3 Outro Exemplo... 37 3.3.1 Pedido de um Cliente em um Restaurante... 37 4 Conceitos para Implementação em Java... 39 4.1 Conceitos e Pontos Importantes para Criação de Uma Classe em Java... 39 4.1.1 Tipos de Dados... 39 4.2 Testando a Classe Criada... 41 4.3 Testando Outra Classe... 43 5 Implementando uma Classe em Java através do Eclipse... 45 5.1 Criando um Novo WorkSpace... 45 5.2 Criando um Novo Projeto... 47 5.3 Criando uma Nova Classe... 49 5.4 Executando a Aplicação... 51 5.5 Implementação e Execução de Outra Classe... 53
6 Aplicando Técnicas de Orientação a Objetos na Classe Implementada... 55 6.1 Aplicando Encapsulamento na Classe... 56 6.1.1 Criando os Métodos para Acessar e Atribuir Valores aos Atributos... 58 6.2 Implementação e Execução de Outra Classe... 61 7 Garantindo a Consistência das Propriedades... 63 7.1 Evitando Atribuição de Valores Inválidos aos Atributos... 63 7.2 Implementação e Execução de Outra Classe... 66 8 Associação entre Objetos... 67 8.1 Identificando e Implementando Associações entre Classes... 67 8.2 Construtores... 71 8.3 Garantindo a Associação entre as Classes através de Construtores. 72 8.3.1 Implementando os Construtores... 72 8.3.2 Sobrecarga de Construtores (e métodos)... 74 8.3.3 Visualizando Graficamente os Objetos e suas Associações através de Referências... 77 8.4 Implementação e Execução de Outra Classe... 80 9 Interagindo com o Usuário... 81 9.1 Pacotes - Packages... 81 9.2 Métodos Estáticos Static... 85 9.3 Importando Classes e Pacotes... 85 9.4 Criando Métodos para Entrada de Dados... 86 9.5 Testando a Classe de Interação com o Usuário... 87 9.6 Implementação e Execução de Outra Classe... 90 10 Associando Coleções... 91 10.1 Utilizando Arrays... 91 10.1.1 Arrays em Java... 92 10.2 Implementando uma Coleção de Objetos... 94 10.2.1 Inserindo os Elementos na Coleção... 95 10.2.2 Exibindo/Listando os Elementos de uma Coleção... 98 10.3 Fazendo Uso da API Collections... 99 10.3.1 Utilizando Generics... 101 10.4 Tirando a Responsabilidade de Exibir Dados da Classe... 103 10.4.1 Utilizando Foreach para Navegar em uma Coleção de Dados... 104
10.5 Mudando o Estado de um Elemento de uma Coleção Recuperada... 105 10.5.1 Obtendo uma Nova Referência de uma Coleção... 107 10.6 Fazendo Uso de um Iterator... 109 10.7 Implementação e Execução de Outra Classe... 110 11 Associações... 111 11.1 Tipos e Características de Associações... 111 11.1.1 Agregação... 112 11.1.2 Composição... 119 11.2 Atividades para este Capítulo... 123 12 Herança, Exceções e Polimorfismo... 125 12.1 Definindo e Implementando Herança... 125 12.1.1 Implementando Especializações... 127 12.2 Implementando o Método Responsável pelo Desenho da Figura... 129 12.3 Desenhando as Figuras... 134 12.4 Entendendo os Modificadores de Escopo... 136 12.5 Tratamento de Erros com Exceções... 138 12.6 Entendendo os Métodos equals(), tostring() e hashcode()... 139 12.6.1 Entendendo e Implementando o tostring()... 139 12.6.2 Utilizando Throws para Marcar um Método... 144 12.6.3 Especializando uma Exceção... 147 12.6.4 Validando Valores Recebidos e Disparando Exceções... 148 12.6.5 Sobrecarga (Overhead) de Métodos... 150 12.6.6 Entendendo e Implementando o equals() e o hashcode()... 152 12.7 Interfaces Herança por Implementação... 155 12.7.1 Criando uma Interface para Acesso a Dados... 156 12.8 Polimorfismo... 160 12.9 Atividades para este Capítulo... 161 13 Um Pouco da API Swing e Acesso a Dados... 163 13.1 A Janela da Aplicação Exemplo... 163 13.2 Implementando a Classe que Representa a Janela... 164 13.2.1 Inicialização da Janela... 165 13.2.2 Criando o Painel que Conterá Componentes para a Informação dos Dados... 166 13.2.3 Criando o Painel que Conterá os Botões de Ação para o JFrame... 167 13.2.4 Implementando Métodos de Acesso Necessários para a Janela. 168
13.2.5 Executando a Classe JFrame como Aplicação... 169 13.3 Implementando o Comportamento da Classe Ouvidora... 169 13.4 Instalando os Recursos Necessários para Acesso a Banco de Dados... 170 13.5 Implementando a Conexão com o Banco de Dados... 175 13.6 Implementando a Exception da Aplicação... 176 13.7 Implementando o Acesso a Dados... 177 13.8 Obtendo os Dados Informados pelo Usuário na Janela... 178 13.9 Executando a Aplicação... 178 13.10 Atividades para este Capítulo... 183 Referências... 185