Ajuda de implementação em Java

2 respostas Resolvido
programaçãojava
fnSimoneto

Pessoal criei essa interface “controlador”

image

Ficou assim:

public interface Controlador {
        public boolean conectar();
        public boolean desconectar();
        public void inserirRegistro(Object Registro);
        public void apagarRegistro(Object Registro);
        public void alterarRegistro(Object Registro);
        public Object obterRegistro(String chave);   
    }

Preciso criar uma classe que implemente essa interface, armazenando os registros de cliente num ArrayList de memória conforme o seguinte diagrama:

image

Me ajudem, please.

2 Respostas

Lucas_Camara

Crie a classe implementando essa interface. Com isso, vc deverá implementar cada método da interface obrigatoriamente, pois a interface é um contrato.

fnSimoneto
Solucao aceita

Consegui resolver, está ai pra quem precisar.

public class ControladorClienteArray implements Controlador {
    private List<Cliente> listaClientes;
    private Integer indexClienteAtual;

    @Override
    public boolean conectar() {
        listaClientes = new ArrayList<>();    
        return true;
    }

    @Override
    public boolean desconectar() {
        listaClientes = null;
        return true;
    }

    @Override
    public void inserirRegistro(Object registro) {
        listaClientes.add((Cliente) registro);
    }

    @Override
    public void apagarRegistro(Object registro) {
    listaClientes.remove((Cliente) registro);
    }

    @Override
    public void alterarRegistro(Object registro) {
        Cliente c = (Cliente) registro;
        for (int i = 0; i < listaClientes.size(); i++) {
            if (c.getCPF() == listaClientes.get(i).getCPF())
                listaClientes.set(i, c);
        }
    }

    @Override
    public Object obterRegistro(String chave) {
        for (int i = 0; i < listaClientes.size(); i++) {
            if (chave == listaClientes.get(i).getCPF()) {
                return listaClientes.get(i);
            }
        }   
        return null;
    }

    public Cliente obterProximoCliente() {
        indexClienteAtual++;
        return listaClientes.get(indexClienteAtual);
    } 
              
    public Cliente obterClienteAnterior() {
        indexClienteAtual--;
        return listaClientes.get(indexClienteAtual);
    }    
}
Criado 17 de junho de 2019
Ultima resposta 18 de jun. de 2019
Respostas 2
Participantes 2