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
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); }
}
150Esercitati con il debugger
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