نوع داده مات

از ویکیپدیا، دانشنامه آزاد
پرش به ناوبری پرش به جستجو

در علوم کامپیوتر ، نوع داده غیرشفاف، نوع داده ای است که ساختار داده مشخص آن در یک رابط تعریف نشده است . این امر مخفی کردن اطلاعات را اعمال می کند ، زیرا مقادیر آن را فقط می توان با فراخوانی برنامه های فرعی که به اطلاعات از دست رفته دسترسی دارند دستکاری کرد. نمایش عینی نوع از کاربران آن پنهان است و اجرای قابل مشاهده ناقص است. نوع داده ای که نمایش آن قابل مشاهده است شفاف نامیده می شود . [1] انواع داده های غیر شفاف اغلب برای پیاده سازی انواع داده های انتزاعی استفاده می شوند .

نمونه‌های معمولی از انواع داده‌های غیرشفاف شامل دستگیره‌های منابع ارائه‌شده توسط یک سیستم عامل به نرم‌افزار کاربردی است . به عنوان مثال، استاندارد POSIX برای رشته‌ها، یک رابط برنامه‌نویسی کاربردی را بر اساس تعدادی از انواع غیر شفاف تعریف می‌کند که رشته‌ها یا ابتدایی‌های همگام‌سازی مانند mutexes یا متغیرهای شرط را نشان می‌دهند . [2]

اشاره گر مات یک مورد خاص از یک نوع داده غیرشفاف است، یک نوع داده که نشانگر یک رکورد یا ساختار داده از یک نوع داده نامشخص است. به عنوان مثال، کتابخانه استاندارد که بخشی از مشخصات زبان برنامه نویسی C را تشکیل می دهد، توابعی را برای ورودی و خروجی فایل ارائه می دهد که مقادیری از نوع "اشاره گر به " را برمی گرداند یا می گیرد که جریان های فایل را نشان می دهد (به ورودی/خروجی فایل C مراجعه کنید )، اما اجرای بتن از نوع مشخص نشده است. [3]FILEFILE

کاربرد در زبان های مختلف

برخی از زبان‌ها، مانند C ، امکان اعلام رکوردهای غیر شفاف (ساختارها) را می‌دهند که اندازه و فیلدهای آنها از مشتری پنهان است. تنها کاری که مشتری می تواند با یک شی از چنین نوع انجام دهد این است که آدرس حافظه آن را بگیرد تا یک اشاره گر مات تولید کند .

اگر اطلاعات ارائه شده توسط اینترفیس برای تعیین اندازه نوع کافی باشد، مشتریان می توانند متغیرها ، فیلدها و آرایه هایی از آن نوع را اعلام کنند، مقادیر آنها را اختصاص دهند و احتمالاً آنها را برای برابری مقایسه کنند. این معمولاً برای نشانگرهای مات صدق می کند.

در برخی از زبان ها، مانند جاوا ، تنها نوع مات ارائه شده اشاره گر مات است. در واقع، در جاوا (و چندین زبان دیگر) رکوردها همیشه از طریق اشاره گرها مدیریت می شوند.

برخی از زبان‌ها انواع تا حدی مبهم را مجاز می‌کنند، به عنوان مثال رکوردی که دارای برخی فیلدهای عمومی است که برای همه مشتریان شناخته شده و قابل دسترسی است، و برخی از فیلدهای پنهان که در رابط آشکار نمی‌شوند. چنین انواعی نقش اساسی در برنامه نویسی شی گرا دارند.

اطلاعاتی که در اینترفیس وجود ندارد ممکن است در اجرای آن ، یا در رابط "فقط دوستان" دیگری اعلام شود. این گزینه دوم اجازه می دهد تا اطلاعات پنهان توسط دو یا چند ماژول به اشتراک گذاشته شود.

همچنین مشاهده کنید

منابع

  1. ^ فریدمن، دانیل پی . وند، میچل ؛ هاینز، کریستوفر تی (2001). ملزومات زبان های برنامه نویسی (ویرایش دوم). مطبوعات MIT. پ. 42. شابک 978-0-262-06217-6.
  2. بوتنهوف، دیوید آر. (1997). برنامه نویسی با موضوعات POSIX . ادیسون-وسلی. پ. 31. شابک 978-0-201-63392-4.
  3. کرنیگان، برایان دبلیو . ریچی، دنیس ام (1988). زبان برنامه نویسی C (ویرایش دوم). سالن پرنتیس شابک 0-13-110362-8.