نوع البيانات المعتم

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

تشمل الأمثلة النموذجية لأنواع البيانات المبهمة مؤشرات الموارد التي يوفرها نظام التشغيل لبرامج التطبيقات . على سبيل المثال، يحدد معيار POSIX للخيوط واجهة برمجة تطبيقات تعتمد على عدد من الأنواع المبهمة التي تمثل الخيوط أو أدوات التزامن الأساسية مثل الأقفال المتبادلة أو متغيرات الحالة . [ 2 ]

المؤشر المبهم هو حالة خاصة من نوع البيانات المبهم، وهو نوع بيانات يُصرَّح عنه كمؤشر إلى سجل أو بنية بيانات من نوع بيانات غير محدد. على سبيل المثال، توفر المكتبة القياسية التي تُعد جزءًا من مواصفات لغة البرمجة C دوالًا لإدخال وإخراج الملفات تُرجع أو تأخذ قيمًا من نوع "مؤشر إلى " تُمثل تدفقات الملفات (انظر إدخال/إخراج الملفات في C )، ولكن لم يتم تحديد التنفيذ الفعلي لهذا النوع . [ 3 ]FILEFILE

الاستخدامات في لغات مختلفة

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

إذا كانت المعلومات التي توفرها الواجهة كافية لتحديد حجم النوع، فيمكن للعملاء تعريف متغيرات وحقول ومصفوفات من ذلك النوع ، وتعيين قيمها، وربما مقارنتها للتأكد من تساويها. وهذا هو الحال عادةً بالنسبة للمؤشرات المبهمة .

في بعض اللغات، مثل جافا ، النوع الوحيد من الأنواع المبهمة المتاحة هو المؤشر المبهم. في الواقع، في جافا (والعديد من اللغات الأخرى) تُعالج السجلات دائمًا من خلال المؤشرات.

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

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

انظر أيضاً

مراجع

  1. فريدمان، دانيال بواند، ميتشل ؛ هاينز، كريستوفر ت. (2001). أساسيات لغات البرمجة (  الطبعة الثانية). مطبعة معهد ماساتشوستس للتكنولوجيا. ص  42. ISBN 978-0-262-06217-6.
  2. بوتنهوف، ديفيد ر. (1997). البرمجة باستخدام خيوط POSIX . أديسون-ويسلي. ص 31. ISBN  978-0-201-63392-4.
  3. كيرنيغان، برايان دبليوريتشي، دينيس إم. (1988). لغة البرمجة سي ( الطبعة الثانية). برنتيس هول. ISBN  0-13-110362-8.