Program.cs
using Pagamentos.Modelo;
PagamentoCredito cliente1 = new PagamentoCredito("Rian", "rian@email.com");
PagamentoBoleto cliente2 = new PagamentoBoleto("Augusto", "augusto@email.com");
Console.Clear();
cliente1.ProcessarPagamento();
cliente2.ProcessarPagamento();
Pessoa.cs
namespace Pagamentos.Modelo;
internal class Pessoa {
public string? Nome;
public string? Email;
public Pessoa(string? nome, string? email) {
Nome = nome;
Email = email;
}
}
PagamentoBoleto.cs
namespace Pagamentos.Modelo;
internal class PagamentoBoleto : Pessoa, IPagamento {
public PagamentoBoleto(string? nome, string? email) : base (nome, email) {}
public void ProcessarPagamento() {
Console.WriteLine($"Processando o pagamento via boleto para {Nome} - {Email}");
}
}
PagamentoCredito.cs
namespace Pagamentos.Modelo;
internal class PagamentoCredito : Pessoa, IPagamento {
public PagamentoCredito(string? nome, string? email) : base (nome, email) {}
public void ProcessarPagamento() {
Console.WriteLine($"Processando o pagamento com cartão de crédito para {Nome} - {Email}");
}
}
IPagamento.cs
namespace Pagamentos.Modelo;
interface IPagamento {
void ProcessarPagamento();
}