[color=orange]Olá pessoal, será que alguém por obséquio pode me ajudar com essa questão?[/color]
[color=green]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.[/color]
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
}
[color=green]As funcionalidades a serem implementadas são:
[/color][color=brown] -> 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.
[/color]
[color=orange]OBS.: Um usuário pode alugar no máximo três itens ao mesmo tempo.[/color]
[color=brown] -> 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.
[/color]
-> Requisitos:[color=green] [/color]
[color=brown] Divisão das classes em pacotes;
Encapsulamento de classes;
Uso de polimorfismo.
[/color]
[color=olive]Ex.: public class DVD extendes Item implements Emprestavel{
private int ano;
private String diretor;
private Ator[]itens;
[/color]
*[color=red] [/color] [color=darkred]Não estou sabendo continuar a resolver esta questão, por isso pesso por obséquio, será que alguém pode me dá uma idéia, dica de como implementar a questão.... Qualquer coisa que possa "clarear as idéias".... [/color]
Começei fazendo isto:[color=darkblue] [/color]
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 abstract void isPodePegarEmprestado();
}
//Está dando erro de compilação na linha abaixo (2)!
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()) {
try {
throw new Exception("Usuário não pode pegar mais de 3 ítens emprestado");
} catch (Exception ex) {
Logger.getLogger(Item.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
public void devolve(Item item) {
}
// Verifica se o usuário pode pegar emprestado. Máximo de ítens a ser pego: 3
// Está dando erro de compilação na linha abaixo (26)!
public boolean isPodePegarEmprestado() {
}
public void PodePegarEmprestado() {
throw new UnsupportedOperationException("Not supported yet.");
}
// getters e setters.
}
Agora pensando numa base de dados em nível de memória, estou tentando implememntar uma classe com uma lista e ações de acesso a dados.
import java.util.ArrayList;
import java.util.List;
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.
// Está dando erro de compilação na linha abaixo (20)!
public List<Item> listar() {
}
// Lista todos os ítens de um sócio.
// Está dando erro de compilação na linha abaixo (28)!
public List<Item> listarPorSocio(Socio socio) {
}
}