1
resposta

Minha solução do desafio

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();

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Oi, Cristin! Como vai?

Agradeço por compartilhar suas reflexões e aprendizados com a comunidade Alura.

Gostei bastante da sua implementação, ficou clara e bem estruturada. Você aplicou herança e interfaces de forma coerente, mostrando que entendeu a diferença entre as abordagens e quando usá-las.

Continue explorando esse conceito, pois entender como as classes se relacionam é fundamental para escrever códigos mais flexíveis e reutilizáveis.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!