Encapsulation في البرمجة الكائنية

  • بدون جافا سكريبت Toggle Switch طريقة عمل

     

    مفتاح التبديل هو عنصر تحكم رسومي يسمح للمستخدم بالاختيار بين حالتين متعارضتين (مثل تشغيل / إيقاف). في الأصل ، تم استخدام مفاتيح التبديل بشكل أساسي في واجهات المستخدم القائمة على الشاشة التي تعمل باللمس ، ولكنها أصبحت فيما بعد شائعة في تطبيقات سطح المكتب والويب.

    تبديل التبديل لها وظيفة مماثلة لمربعات الاختيار ، ولكن على عكس مربعات الاختيار ، فإن التفاعل مع مفتاح التبديل عادة ما يكون له تأثير فوري على التطبيق أو النظام.

    طريقة عمل switch btn بإستخدام input وأحد فقط و بدون javascript


    تحتوي على البنيه الاساسيه

    الخاصية الجديدة هي
    appearance: none;

    و الهدف منها التخلص من التنسيق الأساسي الذي يقوم المتصفح بعمله لل
    input checkbox

    بعد التخلص من التنسيق الأساسي من الممكن أضافه التنسيق الخاص بنا بكل سهولة.


    نلاحظ ان الأب
    .switch

    يحتوي على الإبن
    .switch::before

     


    تم إضافة تنسيق للعنصر before

    بعد أضافه التنسيق الخاص بنا


    يتم تغيير خلفيه الأب
    و تغيير خلفية و مكان الإبن

    نستخدم
    :checked
    من أجل تحديد إذا تم النقر على input checkbox

    إذا تم النقر يتم تطبيق الخواص


    الخاصية appearance
    غير مدعومة في كل المتصفحات و يجب أضافه ال prefix

     

  • Encapsulation التغليف في البرمجة الكائنية 

    التغليف Encapsulation في البرمجة الكائنية احد المصطلحات الا بتقابلنا واحنا بدرس البرمجة الكائنية oop هنتكلم على مقدمة بسيطة قبل البدء فى التعريف ببساطة لما كنا بنبداء فى عمل اى مشروع
    كنا بنبداء بعمل الكلاس الخاص بالمشروع ثم يتم عمل كائن object من هذا الكلاس او عمل وراثة من هذا الكلاس . وكنا بنقدر نتعامل مع المتغيرات الموجودة داخل هذا الكلاس بكل سهولة من اسناد قيم لها او طباعة قيم هذة المتغيرات .
    وبتطبيق مصطلح Encapsulation بمجرد انشاء الكلاس وبتطبيق مصطلح Encapsulation وعند الرغبة فى عمل كائن من هذا الكلاس او وراثة لا يمكن لهذا الكائن الوصول الى متغيرات هذا الكلاس بطريقة مباشرة .

    من المقدمة السابقة يمكن
    تعرف Encapsulation بانها وسيلة لاخفاء بيانات الكلاس ومنع التعامل معها بطريقة مباشرة من خارج الكلاس.

    السؤال كيف يتم اخفاء بيانات الكلاس ومنع التعامل معها خارج الكلاس ؟Encapsulation In C++

    هنا هيظهر دور Access modifiers وبالتحديد private او خاص وبالتالى يتم تحديد طرق الوصول الخاصة بالمتغيرات بانها خاص private . private ويقصد بة انة يمكن الوصول للبيانات فقط من داخل الكلاس .

    سؤال ماهى الطريقة غير المباشرة للوصول الى البيانات التى تم اخفائها من خارج الكلاس؟

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

    getter & setter عبارة عن دوال
    getter تستخدم للحصول على قيمة المتغير
    setter. تستخدم لاسناد قيمة للمتغير

    هنا يتم اعطاء هذة الدوال صلاحية الوصول لهذة المتغيرات والتعامل معها وعندما نريد التعامل مع المتغيرات من خارج الكلاس يتم من خلال هذة الدوال (بطريق غير مباشر) . وطالما يتم التعامل مع المتغيرات من خلال هذة الدوال . فمن الممكن التحكم او عمل شرط (validation) على القيم المررة للدالة setter قبل حفظها بداخل هذة المتغيرات .

    الخلاصة

    حتى نتمكن من تطبيق مفهوم Encapsulation يتم اولا جعل امكانية الوصول للمتغيرات private وبعدها اذا اردنا اسناد قيمة لاى متغير من خارج الكلاس نستخدم دالة setter اما اذا اردنا الحصول على قيم المتغير نستخدم دالة getter ولو اردنا اسناد والحصول على قيم المتغير نستخدم الدالتين معا .ومن الممكن عمل شرط على هذة البيانات قبل تخزينها بداخل هذا المتغير من خلال الدالة setter .

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر