مثيل (برمجة كائنية التوجه)

المثيل (بالإنجليزية: instance)‏ في البرمجة كائنية التوجه هو وجود ملموس لأي كائن، يتكوّن عادةً أثناء وقت تشغيل برنامج حاسوبي. من الناحية النظرية، فإن المثيل هو مرادف لـلـ «كائن» حيث أن كل منهما قيمة معينة (تحقق وجوده)، وقد يسمى أيضاً كائن مثيل؛ يؤكد المثيل على الهوية المميزة للكائن. إنشاء مثيل يسمى الاستنساخ أو التمثيل.

أنظمة التشغيل الموجهة بوزكس عدل

في سياق أنظمة التشغيل الموجهة بوزيكس، يشير مصطلح «مثيل البرنامج» عادةً إلى أي عملية تنفيذ يتم إنشاءها من ذلك البرنامج عبر استدعاءات النظام ()fork و()exec؛ أي أن كل عملية تنفيذية (تشغيلية) في نظام التشغيل هي مثال على برنامج تم استنساخه منه.[1]

البرمجة الصنفية عدل

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

قد يتنوع الكائن بعدة طرق. كل اختلاف محقق لهذا الكائن هو مثال لصنفه. أي أنه عضو في صنف معين له قيم محددة بدلاً من المتغيرات.

هناك فرق مهم بين نوع البيانات، وهو الواجهة البينية، والصنف، وهو التنقيذ البرمجي.

في لغات البرمجة عدل

جافا عدل

تستخدم كلمة المثيل (بالإنجليزية: instance)‏ في لغة برمجة جافا في عدة سياقات وهي كالتالي:

المثيل عدل

المثيل يشير إلى نسخة من الصنف والتي تسمى الكائن، والذي يتم انشائه بواسطة المعامل new متبوعاً باسم الصنف.[2]

طريقة المثيل عدل

وهي أي طريقة برمجية تستدعى عن طريق مثيل الصنف.

متغير المثيل عدل

هي أي متغير أو عنصر يحوي بيانات مرتبط بالكائن، ويسمى أيضاً الحقل (بالإنجليزية: field)‏.

معامل مثيل-من عدل

معامل مثيل من instanceof وهو عبارة عن معامل يأخذ قيمتين للتأكد أن القيمة الأولى (الصنف الأول) مثيل من القيمة الثانية (الصنف الثاني).[3]

سياق غير برمجي عدل

في سياق غير برمجي، يمكنك التفكير في «الكلب» كنوع وكلبك الخاص كمثيل على ذلك الصنف.[4]

يتشابه معنى مصطلح «النوع» في علوم الحاسوب مع معنى كلمة «النوع» في لغة حياتنا اليومية. على سبيل المثال، يمكن للنادل أن يسأل العميل عن نوع المشروب الذي يريده  – قهوة أم شاي؟ فنجان قهوة معين يستقبله العميل يمكننا اعتباره مثيل، بينما يشكل فنجانا قهوة مجموعة من مثيلين من القهوة، والذي يتحدد نوعه في نفس الوقت.

المراجع عدل

  1. ^ Bach، Maurice J. (1986). The Design of the UNIX Operating System. Prentice Hall. ص. 10, 24. ISBN:0-13-201799-7. مؤرشف من الأصل في 2022-04-28. اطلع عليه بتاريخ 2022-11-17.{{استشهاد بكتاب}}: صيانة الاستشهاد: BOT: original URL status unknown (link)
  2. ^ "Creating Objects (The Java™ Tutorials > Learning the Java Language > Classes and Objects)". docs.oracle.com. مؤرشف من الأصل في 2019-06-19. اطلع عليه بتاريخ 2020-07-19.
  3. ^ "Glossary of Terms". docs.oracle.com. مؤرشف من الأصل في 2018-11-29. اطلع عليه بتاريخ 2020-07-19.
  4. ^ "What is instance? – Definition from WhatIs.com". Whatis.techtarget.com. مؤرشف من الأصل في 2020-07-17. اطلع عليه بتاريخ 2014-02-09.