Laís G ® 0 Denunciar post Postado Dezembro 5, 2010 Olá pessoal, será que alguém por obséquio pode me ajudar com essa questão? Construir um software, utilizando Java e Interface Gráfica (Swing) que controle empréstimos de itens entre amigos que trabalham numa certa empresa; qualquer pessoa do grupo pode oferecer seus itens pessoais para empréstimos ou pegando itens disponibilizados pelos outros colegas. Deve-se criar pelo menos três tipos de itens emprestáveis, que corresponderão a implementações da classe item e da interface emprestável. public abstract class Item{ public interface Emprestavel{ private String nome Item; public void empresta Item(); private Socio socio; public void devolve Item(); private boolean emprestado; } // utilize Getters and Setters } As funcionalidades a serem implementadas são: • Cadastro de Sócios; Incluir, Excluir e Consultar Sócios: Uma vez cadastrado, sempre que o sócio entrar no sistema ele fornece a sua identificação (passando o CPF, por exemplo); • Cadastro dos itens pelos sócios: Permitir ao sócio incluir, excluir e consultar seus itens na inclusão, o usuário deve selecionar a quem o item pertence; • Pesquisa de itens: Permitir ao sócio consultar os itens cadastrados no sistema; • Empréstimo de item: Através da tela de pesquisa de itens o usuário poderá selecionar um item de interesse seu para tomar emprestado, se o item estiver disponível o sistema deve emprestá-lo ao usuário e, marcar o item como indisponível. Senão uma exceção deve ser disparada. OBS.: Um usuário pode alugar no máximo três itens ao mesmo tempo. • Devolução do item: O locatário informa ao sistema que o item está devolvido. O item passa a ficar disponível para locação novamente. -> Requisitos: Divisão das classes em pacotes; Encapsulamento de classes; Uso de polimorfismo. Ex.: public class DVD extendes Item implements Emprestavel{ private int ano; private String diretor; private Ator[]itens; * Não estou sabendo por onde começar a resolver esta questão, por isso pesso por obséquio, será que alguém pode me dá uma idéia, dica, um inicio da questão.... Qualquer coisa que possa "clarear as idéias".... Compartilhar este post Link para o post Compartilhar em outros sites
Vergil 15 Denunciar post Postado Dezembro 6, 2010 Primeiro vamos ao modelo. public class Socio { private String cpf; public Socio() { super(); } // getters e setters } public interface Emprestavel { public abstract void empresta(Item item); public abstract void devolve(Item item); } public class Item implements Emprestavel { private String nome; private Boolean emprestado; private Socio socio; public Item() { super(); } public void empresta(Item item) { if (!this.isPodePegarEmprestado()) { throw new Exception("Usuário não pode pegar mais de 3 ítens emprestado"); } } public void devolve(Item item) { } // Verifica se o usuário pode pegar emprestado. Máximo de ítens a ser pego: 3 public boolean isPodePegarEmprestado() { } // getters e setters. } Agora pensando numa base de dados em nível de memória, você pode implememntar uma classe com uma lista e ações de acesso a dados. public final class Repositorio { private List<Item> itens; public Repositorio() { this.itens = new ArrayList<Item>(); } public void inserir(Item item) { } // Lista todos os ítens cadastrados no sistema. public List<Item> listar() { } // Lista todos os ítens de um sócio. public List<Item> listarPorSocio(Socio socio) { } } Dependendo de como for trabalhar na sua aplicação, pode ser interessante tornar o atributo e os métodos da classe Repositorio estáticos. Aí está o início. Comece a implementar e vá postando suas dúvidas. Compartilhar este post Link para o post Compartilhar em outros sites