1
resposta

[Projeto] SistemaBancario

package br.com.nadson.desafiosc9.modelo;

public interface AcaoBancaria {
    public void executar();
}
package br.com.nadson.desafiosc9.modelo;

public abstract class OperacaoBancaria implements AcaoBancaria {
    private double valor;

    public OperacaoBancaria(double valor){
        this.valor=valor;
    }

    public double getValor() {
        return valor;
    }

}
package br.com.nadson.desafiosc9.modelo;

public class Deposito extends OperacaoBancaria{

    public Deposito(double valor) {
        super(valor);
    }

    @Override
    public void executar() {
        System.out.printf("\nDeposito de valor R$%.2f realizado",getValor());    }
}
package br.com.nadson.desafiosc9.modelo;

public class Sacar extends OperacaoBancaria{
    public Sacar(double valor) {
        super(valor);
    }

    @Override
    public void executar() {
        System.out.printf("\nSaque de valor R$%.2f realizado",getValor());
    }

}
package br.com.nadson.desafiosc9.principal;

import br.com.nadson.desafiosc9.modelo.Deposito;
import br.com.nadson.desafiosc9.modelo.OperacaoBancaria;
import br.com.nadson.desafiosc9.modelo.Sacar;

public class SistemaBancario {
    public static void main(String[] args) {
        OperacaoBancaria deposito= new Deposito(1000);
        OperacaoBancaria sacar=new Sacar(300);
        deposito.executar();
        sacar.executar();

    }

}
1 resposta

Oi, Nadson! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Do jeito que você explicou e mostrou no projeto SistemaBancario, chamou atenção a forma como você aplicou herança, interfaces e polimorfismo, usando OperacaoBancaria como classe abstrata e garantindo o contrato com a interface AcaoBancaria. Isso deixa o código organizado e facilita a extensao de novas operacoes no futuro.

Uma dica interessante para o futuro é usar List<AcaoBancaria> para executar varias operações sem depender do tipo concreto. Veja este exemplo:


List<AcaoBancaria> operacoes = new ArrayList<>();
operacoes.add(new Deposito(500));
operacoes.add(new Sacar(200));

for (AcaoBancaria operacao : operacoes) {
    operacao.executar();
}

Esse código percorre uma lista de operações bancárias e chama executar, explorando o polimorfismo de forma prática.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!