حوزه‌ی دید

در بیشتر اوقات، Objective J دارای همان قوانین حوزه‌ی دیدی می باشد که جاوا اسکریپت نیز دارد. متغیر هایی که با var تعریف نشده باشند، به متغیر های عمومی global تبدیل می شوند. در حالی که متغیر های تعریف شده با var دارای حوزه‌ی دید در سطح تابع / متد هستند. دو تا تفاوتی که نسبت به قوانین فوق وجود دارد، عبارت است از متغیر های instance و متغیر های حوزه ی فایل.
متغیر های instance همانطور که قبلا هم در این مقاله دیدید، در درون بلاک @implementation تعریف می شوند. هنگامی که شما از این متغیر ها در درون کلاس تان استفاده می کنید، دارای حوزه‌ی دید در سطح شی هستند (عمومی نیستند، آن ها به هر یک از آبجکت ها تعلق دارند.) در صورتی که فراموش کنید یکی از متغیر های instance را تعریف کنید، با آن متغیر همانند یک متغیر عمومی برخورد خواهد شد همانند کدهای جاوا اسکریپت معمولی.
متغیر های حوزه ی فایل، ویژگی جدیدی است که در Objective J تعریف شده است. هنگامی که شما یک متغیر را در خارج از یک تابع یا متد و با استفاده از کلمه ی کلیدی var تعریف می کنید، چنین متغیرهایی (که به آن ها ثابت static گفته می شود) دارای حوزه ی دید سطح فایل خواهند بود. این متغیر ها فقط توسط کدهای درون همان فایل قابل دسترسی خواهند بود. این ویژگی هنگامی مفید خواهد بود که می خواهید تعداد زیادی متغیر های اشترکی را ایجاد کنید و نیازی نیست که به متغیر های global متوسل شوید. در صورتی که یک فایل فقط شامل یک کلاس باشد، می توان متغیر های حوزه ی فایل که درآن فایل تعریف شده اند را همانند “متغیر های کلاس” تصور کرد.
کد زیر یک مثال از قوانین اصلی حوزه‌ی دید در Objective J می باشد:

glo