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
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); }
}
150Pratique com o depurador
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