Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aula 10 – Persistência temporária com ArrayList Persistência temporária com ArrayList A classe ArrayList já foi estudada em aulas anteriores. A ideia de usá-la é interessante pela praticidade. No entanto, os dados salvos em um objeto ArrayList perduram apenas durante a execução do programa, o que nem sempre é interessante. Vale ressaltar que o tipo de persistência a ser adotado deve ser escolhido pelo programador, de forma a tornar a programação mais fácil e o acesso aos dados mais seguro. Para salvar com ArrayList, usaremos uma entidade DAO. DAO é a sigla para Data Access Object (objeto de acesso de dados). O ArrayList vai dentro de uma classe dessas, onde então os registros são salvos, ainda que temporariamente. Implementação Para exemplificar, usaremos aqui a classe Pessoa do Exercício 2 da lista de exercícios anterior. Não se esqueça dos métodos Getter e Setter! Agora, para salvar vários registros do tipo Pessoa inseridos pelo usuário, faremos a classe DaoPessoa. A responsabilidade de manter o id como chave primária (com valores únicos) passa a ser da classe DaoPessoa, no método de inserção. É muito importante que uma nova referência ArrayList seja atribuída apenas no método construtor, para que o ArrayList não permaneça sendo recriado ao longo do programa e os registros já inseridos se percam. Dentro da classe DaoPessoa deve haver 4 métodos básicos. Eles são chamados de métodos CRUD: Create – Criar – Cria um registro, inserindo dados. Retrieve – Recuperar – Obeter um determinado registro ou todos os registros salvos. Update – Atualizar – Atualiza um registro já salvo. Delete – Deletar – Apaga um dado registro salvo. Create Método para inserir uma Pessoa no ArrayList. Antes de inserí-la atribui-se o id, para que não hajam registros com esse atributo repetido. Retrieve Para suprir essa necessidade do programa é comum haver mais de um método. Nesse exemplo faremos dois: o método get que retorna um registro em específico e um método list que retorna todos os registros do ArrayList. Update Tendo como base um registro fornecido pelo usuário, atualiza-o. Delete Apaga um registro específico. Exercícios Implemente as classes abaixo. Implemente os métodos Getter e Setter da classe Produto. Não permita que o usuário determine o id do produto, faça-o automaticamente. Na classe Main, mostre ao usuário o seguinte menu: Inserir Produto //receba todos os dados do produto Buscar Produto //dê ao usuário a opção de buscar por nome ou por id Editar Produto //peça novamente os dados au usuário para atualizar o cadastro existente. Peça o id para se certificar de que o registro certo será modificado. Remover Produto //remove o produto localizado. Peça o id para se certificar de que o registro certo será modificado. Listar todos os Produtos //lista todos os dados, de todos os produtos. Implemente o seguinte diagrama da mesma forma que foi implementado o diagrama do exercícios anterior. Implemente também a classe compra abaixo, que integra todos os sistemas. Faça um menu inicial onde o usuário decide se vai gerenciar um Produto, um Cliente ou uma Compra. Para facilitar, encontra-se na página seguinte o diagrama completo de todas as classes envolvidas nos exercícios anteriores. � �
Compartilhar