Avatar ·

C# में एक्सेस मॉडिफायर: public, private, protected, internal — इनमें क्या अंतर है और कब क्या उपयोग करें?

सभी को नमस्ते! मैंने अभी-अभी C# सीखना शुरू किया है और अपनी पहली क्लासेज़ लिख रहा हूँ। मैं एक्सेस मॉडिफायर पर अटक गया हूँ। मुझे लगता है कि मैं समझ गया हूँ कि `public` का मतलब "सभी के लिए", `private` का मतलब "केवल क्लास के अंदर", और `protected` का मतलब "वारिसों के लिए" है। लेकिन व्यवहार में मुझे भ्रम होता है। यहाँ एक उदाहरण है। मेरे पास एक क्लास `BankAccount` है:
class BankAccount
{
    public string AccountNumber { get; set; }
    private decimal balance = 0;
    protected decimal interestRate = 0.05m;

    public void Deposit(decimal amount)
    {
        balance += amount;
    }
}
फिर मैं एक क्लास `SavingsAccount` बनाता हूँ, जो `BankAccount` से इनहेरिट करती है:
class SavingsAccount : BankAccount
{
    public void ApplyInterest()
    {
        // यहाँ समस्या है: मैं interes