Exercícios de C#

Criar uma conta bancária com encapsulamento em C#

Nesta lição, você vai proteger o saldo de uma conta com uma propriedade somente leitura por fora e um método de depósito com validação.

Introdução

Este exercício aplica o encapsulamento: em vez de deixar o saldo ser alterado diretamente de fora, a classe oferece apenas operações válidas, como depositar. Assim, as regras de negócio, como não aceitar depósitos negativos, são sempre respeitadas.

A propriedade Balance tem private set, então de fora só é possível lê-la, sem atribuir valores. O método Deposit exige que o valor seja maior que 0; caso contrário, lança ArgumentOutOfRangeException. A conta abre com 100, recebe mais 50, e o saldo impresso é 150.

Exemplo de C# executável

C#
Rodar código →
Program.cs
using System;
class BankAccount(decimal opening)
{
    public decimal Balance { get; private set; } = opening;
    public void Deposit(decimal amount)
    {
        if (amount <= 0) throw new ArgumentOutOfRangeException(nameof(amount));
        Balance += amount;
    }
}
class Program
{
    static void Main() { var account = new BankAccount(100); account.Deposit(50); Console.WriteLine(account.Balance); }
}
Resultado da execução
150

Pratique com o depurador

Coloque um breakpoint em uma atribuição ou condição importante, clique em Debug e veja os valores das variáveis locais antes de passar para a próxima linha.

Pratique com um desafio

Use o conteúdo desta lição para resolver um problema real. Cada desafio roda no navegador, com testes instantâneos e uma revisão por IA.

Todos os desafios