العودة إلى الدورة

الركيزة الأولى لـ OOP: الكبسلة (معدلات الوصول: public, private)

إتقان لغة Java: من الصفر إلى مطور محترف (رحلة من 50 درساً)

الدرس 18: الركيزة الأولى لـ OOP: الكبسلة (Encapsulation)

الكبسلة هي آلية تغليف البيانات (المتغيرات) والكود الذي يعمل على تلك البيانات (الدوال) معاً في وحدة واحدة (الفئة). وهي تتضمن تقييد الوصول المباشر إلى المكونات.

مبدأ إخفاء البيانات

نحقق الكبسلة بشكل أساسي من خلال معدلات الوصول (access modifiers) ، التي تتحكم في الرؤية وإمكانية الوصول.

معدلات الوصول في Java

المعدلمرئي داخل الفئةمرئي داخل الحزمةمرئي خارج الحزمة (فئة فرعية)مرئي في كل مكان
privateنعملالالا
(الافتراضي)نعمنعملالا
protectedنعمنعمنعملا
publicنعمنعمنعمنعم

تنفيذ الكبسلة

الممارسة القياسية هي التصريح عن جميع متغيرات النسخة كـ private لإخفاء البيانات الداخلية ومنع التعديل غير المصرح به.

java public class Account { // البيانات مخفية (private) private double balance = 0.0;

// هذه الدالة هي الطريقة الوحيدة لتغيير الرصيد
public void deposit(double amount) {
    if (amount > 0) {
        balance += amount;
        System.out.println("Deposit successful.");
    } else {
        System.out.println("Deposit amount must be positive.");
    }
}

// دالة لقراءة البيانات
public double getBalance() {
    return balance;
}

}

// مثال على الاستخدام: Account myAccount = new Account(); // myAccount.balance = -100; // خطأ! لا يمكن الوصول للحقل الخاص myAccount.deposit(500.0); // صحيح، الوصول يتم التحكم فيه عبر الدالة

الفائدة: تتيح لنا الكبسلة الحفاظ على التحكم في حالة الكائن، والتحقق من صحة المدخلات، وتغيير التنفيذ الداخلي دون التأثير على الكود الخارجي الذي يستخدم الفئة.