public class Principal {
public static void main(String[] args) {
Pix pix=new Pix(1200);
CartaoCredito cartao=new CartaoCredito(3000);
BoletoBancario boleto=new BoletoBancario(350);
pix.confirmarPagamento();
cartao.confirmarPagamento();
boleto.confirmarPagamento();
}
}
public abstract class Pagamento {
private double valor;
public double getValor() {
return valor;
}
public Pagamento(double valor) {
this.valor = valor;
}
abstract public void confirmarPagamento();
}
public class BoletoBancario extends Pagamento {
public BoletoBancario(double valor) {
super(valor);
}
@Override
public void confirmarPagamento() {
System.out.printf("boleto de %.2f gerado com sucesso!\n",getValor());
System.out.println("taxa: "+getValor()*0.01+" R$");
}
}
public class Pix extends Pagamento{
public Pix(double valor){
super(valor);
}
@Override
public void confirmarPagamento() {
System.out.printf("pix de %.2f realizado com sucesso!\n",getValor());
System.out.println("taxa: "+getValor()*0+" R$");
}
}
public class CartaoCredito extends Pagamento {
public CartaoCredito(double valor) {
super(valor);
}
@Override
public void confirmarPagamento() {
System.out.printf("pagamento de %.2f realizado no cartão de credito\n",getValor());
System.out.println("taxa: "+getValor()*0.03+" R$");
}
}