Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
1
resposta

[Projeto] Faça como eu fiz: validação de saque

Classe Program:

ContaBancaria conta = new("Carlos Silva", 2500);
conta.Sacar(1500);
conta.Sacar(800);

Classe ContaBancaria

namespace Encapsulamento;

internal class ContaBancaria(string titular, double saldoInicial)
{
    public string Titular { get; private set; } = titular;

    private double saldo = saldoInicial;

    public double Saldo => saldo;

    public void Sacar(double valor)
    {
        if (SegurancaConta.ValidarSaque(valor))
        {
            saldo -= valor;

            Console.WriteLine("Saque realizado com sucesso.");
            Console.WriteLine($"Saldo atual: R$ {Saldo:N2}");
        }
        else
        {
            Console.WriteLine("Saque negado pela política de segurança.");
        }
    }
}

Classe SegurancaConta:

namespace Encapsulamento;

internal class SegurancaConta
{
    public static bool ValidarSaque(double valor)
    {
        return valor <= 1000;
    }
}
1 resposta
solução!

Oi, Fabiano! Como vai?

Gostei da forma como você separou a responsabilidade da validação na classe SegurancaConta, mantendo a classe ContaBancaria mais organizada e seguindo bem o conceito de encapsulamento trabalhado no curso. Além disso, o uso da propriedade Saldo apenas para leitura ajuda a proteger os dados da conta.

Uma dica interessante para o futuro é adicionar uma validação para impedir valores negativos ou iguais a zero nos saques. Veja este exemplo:


double valor = 500;

if (valor > 0)
{
    Console.WriteLine("Valor valido para saque.");
}

Nesse exemplo, o código verifica se o valor informado é maior que zero antes de continuar a operação, trazendo mais segurança para a regra de negócio.

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