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

[Projeto] Resposta Registro de Doações, com Orientação a Objeto

Classe:

namespace RegistroDoações.Model;
internal class Doacao
{
    public Doacao(int valor, bool anonima, char tipoConta)
    {
        Valor = valor;
        Anonima = anonima;
        TipoConta = tipoConta;
    }

    public int Valor { get; }
    public bool Anonima { get; }
    public char TipoConta { get; }
    public string DetalhesDoacao => $"Valor recebido: R${Valor}\nDoação anônima: {Anonima}\nTipo de conta: {TipoConta}";
}

Program.cs

using RegistroDoações.Model;

Console.WriteLine(@"
█▀█ █▀▀ █▀▀ █ █▀ ▀█▀ █▀█ █▀█   █▀▄ █▀▀   █▀▄ █▀█ ▄▀█ █▀▀ █▀█ █▀▀ █▀
█▀▄ ██▄ █▄█ █ ▄█ ░█░ █▀▄ █▄█   █▄▀ ██▄   █▄▀ █▄█ █▀█ █▄▄ █▄█ ██▄ ▄█");

Doacao doacao = new(valor: 500, anonima: true, tipoConta: 'P');
Console.WriteLine($"\n{doacao.DetalhesDoacao}");
1 resposta
solução!

Olá, Willian. Tudo bem?

Muito obrigado por compartilhar o seu código aqui com a gente. Parabéns pelo trabalho. Continue com essa dedicação.

Ótimo trabalho utilizando a orientação a objetos, criando a classe Doacao para representar as doações e aproveitando a propriedade somente leitura para armazenar os dados. A estrutura está clara e bem organizada. Além disso, o uso de interpolação de strings na propriedade DetalhesDoacao é uma boa prática para gerar uma descrição detalhada da doação.

Uma dica interessante para o futuro é usar o método ToString() para personalizar a saída de objetos. Por exemplo, você pode substituir a propriedade DetalhesDoacao por um método ToString() que seja chamado automaticamente quando o objeto for impresso. Veja como ficaria o código:

 public override string ToString() { return $"Valor recebido: R${Valor}\nDoação anônima: {Anonima}\nTipo de conta: {TipoConta}"; } 

Essa abordagem pode tornar o código ainda mais limpo e reutilizável.

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