.png)
تابع الدرس السابق
العنوان : البرمجة الكائنية التوجه الجزء الثاني (التغليف (ENCAPSULATION )
👈تعريف : وتعني ببساطة منع الوصول إلى المتغيرات الموجودة داخل الكلاس بشكلٍ مباشر، والسماح بتعديلها أو استرجاعها من خلال دوال مخصصة لذلك، وتبرز أهمية التغليف في قدرتنا على وضع قواعد معينة للتعامل مع المتغيرات، مثلا لنفرض ان هناك متغير لتخزين عمر الشخص، لو أتحنا الوصول المباشر لهذا المتغير سنفقد أي تحكم بالقيمة التي سيدخلها الشخص الذي يستخدم هذه الفئة Class (مبرمج آخر)، ولربما لن يكون لديه معرفة كافية عن طريقة عمل هذه الفئة Class فربما سيفترض أن إدخاله للعمر 0 لن يسبب اي مشاكل، لكن هذا افتراض خاطئ، ربما في أحد دوال هذه الكلاس هناك عملية قسمة لمتغير آخر على هذا العمر، و القسمة على صفر تؤدي إلى حدوث خطأ، والمشكلة أن مثل هذه الأخطاء عادةً لا تظهر مباشرة لـ مستخدم الفئة Class، إنما يظهر الخطأ فيما بعد وربما أثناء عمل البرنامج لدى المستخدم النهائي وهي ما تعرف بإسم Run-Time Error، لكن لو قمنا بالسماح باستخدام هذا المتغير من خلال دالة فنستطيع التحكم وتنبيه المطور مباشرة عند ادخاله للرقم 0 للعمر، أو تحويل الـ 0 الى 1 او غيرها .. ولأن مطور الفئة Class يعرف آلية عملها بالتفصيل فيجب أن يحمي المتغيرات الموجودة داخلها.
👈انواع التغليف :
👨💻عام: يمكن لجميع وظائف الفئات الوصول إلى بيانات أو طرق فئة محددة بمستوى الرؤية العامة. هذا هو أدنى مستوى لحماية البيانات
👨💻محمي: الوصول إلى البيانات محجوز لوظائف فئات الوريثة ، وهذا يعني وظائف الأعضاء للفئة وكذلك الفئات المشتقة
👨💻خاص: الوصول إلى البيانات يقتصر على أساليب الطبقة نفسها. هذا هو أعلى مستوى من حماية البيانات.
👈مثال : لدينا فئة 1 وفئه 2 . الفئه واحد فيها داله معرفة كمحمي و اخرى معرفة كخاصة . نقوم بانشاء داله ثالثه داخل هذه الفئة . يمكنك مناداه الدالة المعرفة كمحميه فقط داخل الدالة 3 لأن تعريفها يسمح بمناداتها في نفس الكلاس لكن لا يمكن مناداه الدالة 2 لان تعريفها لا يسمح بمناداتها او استعمال ما فيها اي كان المكان
الآن فللنشءداله داخل الفئة 2 و لنقم بانشاء اوبجيكت من الداله 1 في الداله 2 . بأستعمال هذا الاوبجيكت لا يمكنك مناداة اي داله من الفئة 1 لأن تعاريفها ليس بالعامه لمناداتها من خارج الكلاس الخاص بها
ا.....................................ا
البرمجة في كل مكان 💻
@alheeahalseedah





ليست هناك تعليقات:
إرسال تعليق