کپسوله‌سازی (Encapsulation)

پنهان‌سازی داده با private و کنترل دسترسی با getter و setter.

کپسوله‌سازی چیست؟

پنهان‌کردن جزئیات داخلی کلاس و ارائه دسترسی کنترل‌شده — مثل قرص دارو: ماده مؤثر داخل پوشش است!

سطوح دسترسی

سطحدسترسی
privateفقط داخل همان کلاس
(پیش‌فرض)کلاس + پکیج
protected+ زیرکلاس‌ها
publicهمه‌جا

الگوی getter/setter

public class BankAccount {
    private double balance;   ← private! مستقیم قابل دسترسی نیست

    // getter — خواندن
    public double getBalance() {
        return balance;
    }

    // setter — نوشتن با اعتبارسنجی
    public void deposit(double amount) {
        if (amount > 0) {         ← کنترل!
            balance += amount;
        }
    }

    public boolean withdraw(double amount) {
        if (amount > 0 && amount <= balance) {
            balance -= amount;
            return true;
        }
        return false;
    }
}

چرا کپسوله‌سازی؟

// بدون کپسوله‌سازی — خطرناک!
account.balance = -1000;   ← هر کسی هر چیزی ست می‌کند!

// با کپسوله‌سازی — امن
account.deposit(500);       ← فقط روش‌های مجاز
account.withdraw(999999);   ← رد می‌شود (بودجه کافی نیست)

مزایا

قاعده سرانگشتی: فیلدها private، متدهای لازم public — این قلب کپسوله‌سازی است.

این مبحث بخشی از دوره آموزش کامل جاوا است.

ابزارهای مرتبط