package br.com.nadson.desafiosc9.modelo;
public class Pagamento {
private double valor;
private double taxa;
public Pagamento(double valor) {
this.valor = valor;
}
public void setTaxa(double taxa) {
this.taxa = taxa;
}
public double calcularValorTaxa() {
return (this.valor * this.taxa);
}
public void processarPagamento() {
System.out.println("Processando pagamento de R$ " + String.format("%.2f",valor));
}
}
package br.com.nadson.desafiosc9.modelo;
public class Boleto extends Pagamento {
public Boleto(double valor) {
super(valor);
this.setTaxa(0.02);
}
@Override
public void processarPagamento() {
System.out.println("Processando pagamento com Boleto...");
super.processarPagamento();
System.out.println(" Valor taxa: R$ " + String.format("%.2f", calcularValorTaxa()));
}
}
package br.com.nadson.desafiosc9.modelo;
public class CartaoDeCredito extends Pagamento {
public CartaoDeCredito(double valor) {
super(valor);
setTaxa(0.05);
}
@Override
public void processarPagamento() {
System.out.println("Processando pagamento com Cartão de Crédito...");
super.processarPagamento();
System.out.println(" Valor taxa: R$ " + String.format("%.2f", calcularValorTaxa()));
}
}
package br.com.nadson.desafiosc9.modelo;
public class Pix extends Pagamento {
public Pix(double valor) {
super(valor);
}
@Override
public void processarPagamento() {
System.out.println("Processando pagamento com Pix...");
super.processarPagamento();
}
}
package br.com.nadson.desafiosc9.principal;
import br.com.nadson.desafiosc9.modelo.Boleto;
import br.com.nadson.desafiosc9.modelo.CartaoDeCredito;
import br.com.nadson.desafiosc9.modelo.Pagamento;
import br.com.nadson.desafiosc9.modelo.Pix;
import java.util.List;
public class SistemaDePagamentos {
public static void main(String[] args) {
List<Pagamento> pagamentos= List.of(
new Boleto(400.00),
new CartaoDeCredito(250.00),
new Pix(300)
);
for (Pagamento pagamento : pagamentos) {
pagamento.processarPagamento();
System.out.println("-----");
}}
}