Classe Program:
using SistemaDePagamentos;
PagamentoCredito cliente1 = new("André", "andre@email.com");
PagamentoBoleto cliente2 = new("Juliana", "juliana@email.com");
cliente1.ProcessarPagamento();
cliente2.ProcessarPagamento();
Classe Pessoa:
namespace SistemaDePagamentos;
internal class Pessoa(string nome, string email)
{
public string Nome { get; private set; } = nome;
public string Email { get; private set; } = email;
}
Interface IPagamento
namespace SistemaDePagamentos;
internal interface IPagamento
{
void ProcessarPagamento();
}
Classe PagamentoBoleto:
namespace SistemaDePagamentos;
internal class PagamentoBoleto(string nome, string email) : Pessoa(nome, email), IPagamento
{
public void ProcessarPagamento()
{
Console.WriteLine($"Processando pagamento via boleto para {Nome} - {Email}");
}
}
Classe PagamentoCredito:
namespace SistemaDePagamentos;
internal class PagamentoCredito(string nome, string email) : Pessoa(nome, email), IPagamento
{
public void ProcessarPagamento()
{
Console.WriteLine($"Processando pagamento com cartão de crédito para {Nome} - {Email}");
}
}