namespace PraticandoHerancas.Classes;
internal class Pessoa
{
//Atributos
public string Nome { get; }
public string Email { get; }
//Construtor
public Pessoa(string nome, string email)
{
Nome = nome;
Email = email;
}
}
namespace PraticandoHerancas.Interfaces;
internal interface IPagamento
{
void ProcessarPagamento();
}
using PraticandoHerancas.Classes;
using PraticandoHerancas.Interfaces;
internal class PagamentoCredito : Pessoa, IPagamento
{
//Construtor que chama o construtor da classe base (Pessoa)
public PagamentoCredito(string nome, string email) : base(nome, email)
{
}
public void ProcessarPagamento()
{
Console.WriteLine($"Processando pagamento com cartão de crédito para {Nome} - {Email}");
}
}
using PraticandoHerancas.Interfaces;
namespace PraticandoHerancas.Classes;
internal class PagamentoBoleto : Pessoa, IPagamento
{
//Construtor que chama o construtor da classe base (Pessoa)
public PagamentoBoleto(string nome, string email) : base(nome, email)
{
}
public void ProcessarPagamento()
{
Console.WriteLine($"Processando pagamento via boleto para {Nome} ({Email})");
}
}
using PraticandoHerancas.Classes;
PagamentoCredito cliente1 = new PagamentoCredito("André", "andre@email.com");
PagamentoBoleto cliente2 = new PagamentoBoleto("Juliana", "juliana@email.com");
cliente1.ProcessarPagamento();
cliente2.ProcessarPagamento();