public abstract class Pagamento {
protected double valorPagamento;
public Pagamento(double valorPagamento) {
this.valorPagamento = valorPagamento;
}
public double calcularTaxa(){
return valorPagamento * 0.0;
}
public void confirmarPagamento(){
System.out.printf("Pagamento de R$ %.2f confimado\n", valorPagamento);
}
}
public class CartaoCredito extends Pagamento{
public CartaoCredito(double valorPagamento) {
super(valorPagamento);
}
public double calcularTaxa(){
return valorPagamento * 0.03;
}
public void confirmarPagamento(){
System.out.printf("Pagamento de R$ %.2f confirmado no cartao de credito (Taxa: %.2f)\n", valorPagamento, calcularTaxa());
}
}
public class Boleto extends Pagamento{
public Boleto(double valorPagamento) {
super(valorPagamento);
}
public double calcularTaxa(){
return valorPagamento * 0.01;
}
public void confirmarPagamento(){
System.out.printf("Boleto de R$ %.2f gerado com sucesso (Taxa: R$ %.2f)\n", valorPagamento, calcularTaxa());
}
}
public class Pix extends Pagamento{
public Pix(double valorPagamento) {
super(valorPagamento);
}
public double calcularTxa(){
return valorPagamento * 0.0;
}
public void confirmarPagamento(){
System.out.printf("Pagamento via Pix de R$ %.2f confirmado\n", valorPagamento);
}
}
public class Principal {
public static void main(String[] args){
Pagamento cartao = new CartaoCredito(250.00);
Pagamento boleto = new Boleto(500.00);
Pagamento pix = new Pix(300.00);
cartao.confirmarPagamento();
boleto.confirmarPagamento();
pix.confirmarPagamento();
}
}