Olá!
Segue minha resolução:
- Interface AcaoBancaria:
package br.com.alura.exercicios;
public interface AcaoBancaria {
void executar();
}
- Classe OperacaoBancaria:
package br.com.alura.exercicios;
public abstract class OperacaoBancaria implements AcaoBancaria{
protected double valor;
public OperacaoBancaria(double valor) {
this.valor = valor;
}
@Override
public void executar() {
}
}
- Classes Saque e Deposito:
package br.com.alura.exercicios;
public class Saque extends OperacaoBancaria{
public Saque(double valor) {
super(valor);
}
@Override
public void executar() {
System.out.printf("Saque de R$%.2f realizado.", valor);
}
}
package br.com.alura.exercicios;
public class Deposito extends OperacaoBancaria {
public Deposito(double valor) {
super(valor);
}
@Override
public void executar() {
System.out.printf("Depósito no valor R$%.2f realizado.", valor);
}
}
- Main para rodar a aplicação:
package br.com.alura.exercicios;
public class Main {
public static void main(String[] args) {
OperacaoBancaria saque = new Saque(250.0);
OperacaoBancaria deposito = new Deposito(50.50);
saque.executar();
System.out.println();
deposito.executar();
}
}