package SistemaBancario;
public abstract class OperacaoBancaria implements AcaoBancaria {
protected double valor;
public OperacaoBancaria(double valor) {
this.valor = valor;
}
public double getValor() {
return valor;
}
}
package SistemaBancario;
public class Deposito extends OperacaoBancaria {
public Deposito(double valor) {
super(valor);
}
@Override
public String executar() {
if (getValor() < 0) {
return "Valor inválido";
}
return "Depósito de R$ " + getValor() +
" Realizado com sucesso.";
}
}
package SistemaBancario;
public class Saque extends OperacaoBancaria {
public Saque(double valor) {
super(valor);
}
@Override
public String executar() {
if (getValor() < 0) {
return "Valor inválido";
}
return "Saque de R$ " + getValor() +
" realizado com sucesso";
}
}
package SistemaBancario;
public interface AcaoBancaria {
String executar();
}
package SistemaBancario;
public class Principal {
public static void main(String[] args) {
OperacaoBancaria deposito = new Deposito(200);
OperacaoBancaria saque = new Saque(50.5);
System.out.println(deposito.executar());
System.out.println(saque.executar());
}
}