بايثون - التجريد

مفهوم التجريد

التجريد ( Abstraction ) يُستخدم لإنشاء نماذج أكثر عمومية و مرونة للكود. يركز التجريد على تحديد الأوامر الرئيسية التي ستتنفذ في الدوال بدون الكشف عن تفاصيل تنفيذها الداخلية. يسمح ذلك للمبرمجين باستخدام الدوال بشكل مرن بدون الحاجة لمعرفة تفاصيل عملها الداخلية.

فمثلاً إذا كنت تنوي بناء تطبيق فيه واجهة مستخدم و فيه زر يسمح بإرسال رسالة إلكترونية إلى صاحب التطبيق. في هذه الحالة لن يكون عليك القلق بتاتاً حول الطريقة التي سيتم فيها ربط الكود الذي يسمح بإرسال الرسالة بالزر الموجود في واجهة المستخدم لأن مطوري واجهة المستخدم يطلبوا منك تجهيز دالة لها شكل معين و وضع الكود الخاص بإرسال الرسالة فيها، و من ثم تمرير هذه الدالة إلى الكائن الذي يمثل الزر الذي يظهر في واجهة المستخدم. عندها ببساطة سيتم تنفيذ الكود الموجود في الدالة في كل مرة يتم فيها النقر على الزر.

أسلوب التجريد يتم من خلال تعريف دوال مجرّدة ( Abstract Methods ) في الكلاس الأب و إجبار الكلاس الإبن على أن يفعل Override لهذه الدوال بالشكل الذي يناسبه. بالتالي عندما تنشئ كلاس يرث من كلاس فيه دوال مجرّدة سيظهر أمامك تحذير ينبهك أنك يجب أن تفعل Override لهذه الدوال حتى لا يظهر لك خطأ وقت التشغيل.


فوائد التجريد

  • تبسيط الكود - يُساعد التجريد على تبسيط الكود من خلال إخفاء التفاصيل المعقدة في الكود و جعل المبرمج يتعامل معها بشكل سطحي من خلال دوال سهلة الإستخدام.
  • إعادة الاستخدام - يُمكن إعادة استخدام الكود المجرد بسهولة في مشاريع مختلفة دون الحاجة إلى تعديله لكل سياق محدد.
  • تسهيل الصيانة - يُسهل التجريد صيانة الكود بسبب أن الكود نفسه يكون مقسم لعدة دوال مرتبطة داخلياً ببعضها و وظائف هذه الدوال تكون مكتوبة بشكل منفصل مما يجعلها لا تؤثر على طريقة ربط الدوال ببعضها.
  • القابلية للتمديد - يُمكن توسيع الكود المجرد بسهولة بإضافة دوال جديدة دون التأثير على الكود الموجود.

مصطلحات تقنية

  • الكلاس العادي يقال له Concrete Class.
  • الكلاس المعرف ككلاس مجرّد يقال له Abstract Class.
  • الدالة المعرفة كدالة مجرّدة يقال لها Abstract Method.

جاهز لرحلة التحدي؟

قم بتوليد تمارين لا نهائية بشكل تدريجي (10 في كل مرة) بناءً على هذا الدرس. كل تمرين مصمم لرفع مستوى تفكيرك المنطقي.