quarta-feira, 11 de maio de 2016

Java Exercício simulação Contas Bancaria "extends" estendendo Classes "@Override".

package dominiobanco;


public class GerenciarConta {

 
    public static void main(String[] args) {
      //Criar cliente e agencia
        Agencia ag1 = new Agencia();
        ag1.cidade = "Mogi Mirim";
        ag1.idAgencia = 1;
        ag1.estado = "SP";
        Cliente cli1 = new Cliente();
        cli1.idCliente = 1;
        cli1.nome = "Maromo";
       
        //
        Poupanca minhaConta = new Poupanca();
        minhaConta.idConta = 234;
        minhaConta.agencia = ag1;
        minhaConta.cliente = cli1;
        minhaConta.diaAniversario = 13;
        //Depositar
        minhaConta.efetuarDeposito(1500);
       
        //Sacar
        minhaConta.efetuarRetirada(3000.0);
     
        //Imprimir dados da conta
        minhaConta.imprimir();
     
    }
   
}
________________________________________________________________________________

package dominiobanco;


public class Agencia {
    public int idAgencia;
    public String cidade;
    public String estado;
}

_________________________________________________________________________________

package dominiobanco;

public class Cliente {
   public int idCliente;
   public String nome;
   
}
________________________________________________________________________________

package dominiobanco;

public abstract class Conta {

    public int idConta;
    public Cliente cliente;
    public Agencia agencia;
    public double saldo;

    //Métodos
    public void efetuarDeposito(double valor) {
        this.saldo += valor;
    }

    public void efetuarRetirada(double valor) {
        if (valor <= this.saldo) {
            this.saldo -= valor;
        } else {
            System.out.println("Sem saldo suficiente");
        }
    }

    public void imprimir() {
        System.out.println("Dados da Conta..");
        System.out.println("Id Conta: " + idConta);
        System.out.println("Cliente: " + cliente.nome);
        System.out.println("Cidade da Aencia: " + agencia.cidade);
        System.out.println("SALDO: " + saldo);
    }
}
_________________________________________________________________________________

package dominiobanco;

public class Corrente extends Conta {
    //atributos
    public boolean temEspecial;
    public double valorLimite;
    
    //Método - Reescrita do efetuarRetirada - sobrescrita
    @Override
    public void efetuarRetirada(double valor){
        if (valor<= (this.saldo + this.valorLimite)){
            this.saldo -= valor;
        }else{
            System.out.println("Sem saldo / Limite para saque");
        }
    }
    @Override
    public void imprimir(){
        super.imprimir();
        if(temEspecial){
            System.out.println("Valor Limite: " + valorLimite);
        }
    }
}
______________________________________________________________________________

package dominiobanco;

public class Poupanca extends Conta {
    public int diaAniversario;
    
    
    @Override
    public void imprimir(){
        super.imprimir();
        System.out.println("Dia Aniversário: " + diaAniversario);
    }
}
_______________________________________________________________________________

package dominiobanco;

public class RendaFixa extends Conta {
    public int codigoAplicacao;
    
    @Override
    public void imprimir(){
        super.imprimir();
        System.out.println("Cod. Aplicação: " +codigoAplicacao);
    }
}

Nenhum comentário:

Postar um comentário