package br.com.banco;
public interface AcaoBancaria {
public void executar();
}
package br.com.banco;
abstract class OperacaoBancaria implements AcaoBancaria {
private double valor;
public OperacaoBancaria(double valor) {
this.valor = valor;
}
public double getValor() {
return valor;
}
}
package br.com.banco;
public class Deposito extends OperacaoBancaria {
public Deposito(double valor) {
super(valor);
}
@Override
public void executar() {
System.out.printf("Depósito de R$%.2f realizado%n", getValor());
}
}
package br.com.banco;
public class Saque extends OperacaoBancaria {
public Saque(double valor) {
super(valor);
}
@Override
public void executar() {
System.out.printf("Saque de R$%.2f realizado%n", getValor());
}
}
package br.com.banco;
public class Principal {
public static void main(String[] args) {
OperacaoBancaria deposito = new Deposito(200.00);
OperacaoBancaria saque = new Saque(50.50);
deposito.executar();
saque.executar();
}
}
Saída:
Depósito de R$200,00 realizado
Saque de R$50,50 realizado