Medium csharp

OOP — Bank account encapsulation

Problem

Implement BankAccount with private balance, Deposit, and Withdraw methods.

Hints
  • Private field + public methods with validation

Your practice code

Ready — edit the code above and click Run.

Solution

using System;

class BankAccount {
    private decimal _balance;
    public void Deposit(decimal amount) { if (amount > 0) _balance += amount; }
    public bool Withdraw(decimal amount) {
        if (amount <= 0 || amount > _balance) return false;
        _balance -= amount; return true;
    }
    public decimal Balance => _balance;
}
class Program {
    static void Main() {
        var acc = new BankAccount();
        acc.Deposit(1000);
        acc.Withdraw(200);
        Console.WriteLine(acc.Balance);
    }
}

Try solving on your own first, then reveal the official answer.

Explanation

Encapsulation hides _balance and validates operations—classic OOP interview example.

Toolliyo Assistant
Ask about tutorials, ebooks, training, pricing, mentor services, and support. I use public site content only—not admin or internal tools.

care@toolliyo.com

Need callback? Share your details