Esercizi C#

Creare un conto bancario con incapsulamento in C#

In questa lezione proteggerai il saldo di un conto con una proprietà di sola lettura dall'esterno e un metodo di deposito con controlli.

Introduzione

Questo esercizio applica l'incapsulamento: invece di lasciare che il saldo venga modificato direttamente dall'esterno, la classe offre solo operazioni valide, come depositare. Così le regole di business, come non accettare depositi negativi, vengono sempre rispettate.

La proprietà Balance ha un private set, quindi dall'esterno si può solo leggerla, senza assegnarle valori. Il metodo Deposit richiede che l'importo sia maggiore di 0; altrimenti lancia ArgumentOutOfRangeException. Il conto viene aperto con 100, riceve altri 50, e il saldo stampato è 150.

Esempio C# eseguibile

C#
Esegui il codice →
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); }
}
Risultato dell'esecuzione
150

Esercitati con il debugger

Metti un breakpoint su un'assegnazione o una condizione importante, fai clic su Debug ed esamina i valori locali prima di passare alla riga successiva.

Esercitati con una sfida

Usa ciò che questa lezione spiega per risolvere un problema reale. Ogni sfida gira nel browser, con test immediati e una revisione dell'IA.

Tutte le sfide