Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Faça como eu fiz: sistema de pagamentos

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();
}
1 resposta
solução!

Oi, Diego! Como vai?

Ótima implementação, você aplicou bem o conceito de herança ao reutilizar a classe Pessoa e também utilizou interface para padronizar o comportamento de pagamento, o que é importante nesse tipo de modelagem.

Continue praticando essa separação de responsabilidades, isso ajuda muito na organização do código.

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