در علوم رایانه، متغیر سراسری به متغیری گفته می‌شود که در تمامی ماژول‌ها و توابع برنامه‌نویسی مقدار خود را نگه دارد. در حالت معمول با اجرای یک تابع یا یک ماژول متغیرهایی در درون آن مقداردهی می‌شوند که اگر این متغیرها از نوع محلی باشند با خروج از تابع یا ماژول مقداری که در آن‌ها مقداردهی شده بود از بین می‌رود اما چنانچه این متغیرها سراسری باشند با خروج از تابع یا ماژول مقدار آن نگهداری شده و می‌توان دوباره مقادیر آن را فراخوانی نمود.[۱]

متغیرهای سراسری در زبان‌های مختلف برنامه‌نویسی ویرایش

پی‌اچ‌پی ویرایش

در پی‌اچ‌پی متغیرهایی که داخل یک تابع تعریف بشوند همگی محلی تلقی می‌شوند مگر آن که مشخصاً ذکر شود که باید متغیر سراسری به کار گرفته بشود (با استفاده از پیشوند global). مثلاً در کد زیر، تابع f مقدار متغیر سراسری را نشان خواهد داد، در حالی که تابع g خروجی نخواهد داشت چون متغیر a را به صورت محلی فرا می‌خواند که مقداردهی نشده‌است:

$a = 1; /* global scope */

function f()
{
    global $a;
    echo $a;
}

function g()
{
    echo $a;
}

f();
g();

جاوا ویرایش

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

با این حال، متغیرهایی که به صورت پارامتر یک کلاس تعریف شده‌اند را می‌توان با پیشوند static تبدیل به یک متغیر ایستا کرد؛ متغیرهای ایستا بین تمام نمونه‌های کلاس به اشتراک گذاشته می‌شوند لذا بسیاری از این متغیرها به عنوان جایگزینی برای متغیرهای سراسری استفاده می‌کنند.

منابع ویرایش

  1. حکیم‌زاده، پدرام. اصول برنامه نویسی شیء گرا. انتشارات فرجام چاپ ۱۳۹۴.