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 का उपयोग कर सकता हूँ