تجريد (حاسوب)

هذه هي النسخة الحالية من هذه الصفحة، وقام بتعديلها عبود السكاف (نقاش | مساهمات) في 13:52، 9 أكتوبر 2023 (←‏growthexperiments-addimage-summary-summary: 1). العنوان الحالي (URL) هو وصلة دائمة لهذه النسخة.

(فرق) → نسخة أقدم | نسخة حالية (فرق) | نسخة أحدث ← (فرق)

التجريد (بالإنجليزية: Abstraction)‏ يطلق في علم الحاسوب على عملية تعريف البرامج أو البيانات من خلال إظهار واجهة منسجمة مع معنى وغاية هذا البرنامج ولكن يتم إخفاء التنفيذ الفعلي له.[1][2][3] الغرض من هذا هو التخفيف من التعقيدات التي يجب على المبرمج التعامل معها، وبالتالي يكون بإمكانه التركيز على أمور أقل في الوقت الواحد.

برنامج C الذي يطبع Hello World عند استدعائه

تجريد البيانات

تجريد البيانات يجبر الفصل بين الخصائص المجردة لنوع البيانات من جهة، وبين تفاصيل التنفيذ الفعلي لها من جهة أخرى. الخصائص المجردة هي تلك التي تستطيع الشيفرة العميلة (Client Code) رؤيتها، أو بمعنى آخر: واجهة البيانات. ويبقى التنفيذ الفعلي لهذه البيانات مخفيا عن الشيفرة العميلة. والغرض من ذلك هو أن الشيفرة العميلة لهذه البيانات لا يهمها أن تعرف كيف تم تنفيذها. هي فقط تهتم بالحصول عليها أو تخزينها. أما عن كيفية التنفيذ فيمكن أن تتغير مع الوقت دون أن تؤثر على الشيفرة العميلة.

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

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

مراجع

  1. ^ Guttag، John V. (18 يناير 2013). Introduction to Computation and Programming Using Python (ط. Spring 2013). Cambridge, Massachusetts: The MIT Press. ISBN:9780262519632.
  2. ^ "Using an Interface as a Type". The Java™ Tutorials. Oracle. مؤرشف من الأصل في 2017-10-06. اطلع عليه بتاريخ 2014-09-04.
  3. ^ Levellism and the Method of Abstraction IEG – Research Report 22.11.04 نسخة محفوظة 22 نوفمبر 2011 على موقع واي باك مشين.