تغییر دهنده دسترسی Access Modifier

تغییر دهنده دسترسی یا Access Modifier چیست؟

تغییر دهنده دسترسی (Access Modifier) در برنامه نویسی شئ‌گرا به گونه‌ای از کلمات کلیدی اطلاق می‌شود که جهت تعیین سطح دسترسی (Access Level) به کلاس‌ها، متدها و سایر اعضا به کار می‌رود. اصطلاح تعیین کننده دسترسی (Access Specifier) نیز به عنوان معادلی برای این واژه مورد استفاده قرار می‌گیرد.

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

در زبان‌های برنامه‌نویسی مختلف از کلمات کلیدی متعددی برای تعیین سطح دسترسی استفاده می‌شود. دو کلمه کلیدی متداول در میان زبان‌های شئ‌گرا، کیوردهای Public و Private می‌باشند. در صورت استفاده از کیورد Public (به معنای عمومی) هیچ نوع محدودیتی روی دسترسی به کلاس، متد یا … مربوطه وجود نخواهد داشت و استفاده از Private (به معنای خصوصی) باعث می‌شود المان مورد نظر تنها در همان کلاس (یا ساختاری) قابل دسترسی باشد که المان در آن تعریف شده است.

یکی دیگر از تغییردهنده‌های دسترسی که در بسیاری از زبان‌های برنامه‌نویسی امروزی مشترک و دارای مفهومی تقریبا مشابه است Protected می‌باشد. با استفاده از این کلمه کلیدی، المان موردنظر تنها در همان کلاس یا کلاس‌های مشتق شده از آن قابل دسترسی و مشاهده می‌باشد.

از جمله دیگر تعیین‌کننده‌های سطح دسترسی که در زبان C# با کلمه کلیدی internal و در زبان Visual Basic با کلمه کلیدی Friend شناخته می‌شود منجر می‌شود المان مربوطه تنها در کدهای موجود در همان اسمبلی که المان در آن تعریف شده است قابل استفاده باشد. قرارگیری کلمه کلیدی Protected پیش از این کلمات کلیدی (به صورت protected internal و Protected Friend) باعث ایجاد یک تعیین کننده دسترسی دیگر می‌شود که المان‌های تعریف شده با استفاده از آن در همان اسمبلی یا کلاس‌های مشتق شده (حتی در اسمبلی‌های دیگر) قابل استفاده می‌باشد.

در قطعه کد نمونه زیر که به زبان C# نوشته شده است نحوه استفاده از این کلمات کلیدی نمایش داده شده است.

public class Circle
  {
  private int radius;
  ...
  public void Draw() {...}
  }

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *