Ejercicios de C#

Crear una cuenta bancaria encapsulada en C#

En esta lección vas a proteger el saldo de una cuenta con una propiedad de solo lectura desde fuera y un método de depósito controlado.

Introducción

Este ejercicio aplica la encapsulación: en lugar de dejar que desde fuera se cambie directamente el saldo, la clase solo ofrece operaciones válidas, como el depósito. Así las reglas de negocio, por ejemplo no permitir depositar un importe negativo, siempre se respetan.

La propiedad Balance tiene un private set: desde fuera solo se puede leer, no asignarle un valor. El método Deposit comprueba que el importe sea mayor que 0; si no, lanza una ArgumentOutOfRangeException. La cuenta se abre con 100 y se depositan 50, así que el saldo mostrado es 150.

Ejemplo de C# ejecutable

C#
Ejecutar 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 de la ejecución
150

Practica con el depurador

Pon un punto de interrupción en una asignación o condición importante, pulsa Debug y revisa los valores locales antes de pasar a la siguiente línea.

Practica con un reto

Usa lo que cubre esta lección para resolver un problema real. Cada reto se ejecuta en el navegador, con pruebas al instante y una revisión de IA.

Todos los retos