تعریف ثابت های نام دار در جاوا
یک متغیر، مکانی نام گذاری شده در حافظه است به طوری که مقدار آن می تواند تغییر کند. اگر مقدار یک مکان در حافظه، در حین اجرای برنامه، نتواند تغییر کند، به آن ثابت نام دار گفته می شود. درست مثل متغیرها، یک ثابت نام دار نیز دارای نوعِ داده و نام و مقدار است.
یک ثابت نام دار، با متغیرها تفاوت های زیادی دارد مانند:
- در تعریف یک ثابت نام دار، نوع داده، بعد از کلمه ی کلیدی final قرار می گیرد.
- یک ثابت نام دار تنها یک بار می تواند مقداری را بپذیرد و پس از آن دیگر نمی تواند تغییر کند. معمولا یک ثابت نام دار به هنگام تعریف شدن، مقدار دهی می شود.
اگر به هنگام تعریف یک ثابت نام دار، آن را مقدار دهی اولیه نکنید، بعداً می توانید این کار را انجام دهید. شما تنها یک بار می توانید به یک متغیر final مقدار دهی کنید و همچنین باید قبل از اینکه این ثابت مورد استفاده قرار بگیرد، مقداری به آن انتساب داده باشید. - با اینکه ضروری نیست، اما رسم براین است که شناسه ی(نام) ثابت ها با حرف بزرگ نوشته شود و از کاراکتر زیرخط(_) برای جدا کردن کلمات آن استفاده شود.
بعنوان مثال، هر یک از موارد زیر، یک ثابت نام دار را تعریف می کند:
مثال:
final int NUMBER_OF_DEPTS = 20;
final double PI = 3.14159;
final double TAX_RATE = 0.015;
final string COMPANY = "ABC Manufacturing";
شما می توانید از این ثابت ها در هر جایی استفاده کنید بجز در سمت چپ انتساب(تساوی). می توان گفت که ثابت های نام دار پس از اینکه مقداردهی شدند، به مقادیر rvalue تبدیل می شوند.
سوال و جواب:
سوال: یک ثابت، در داخل یک برنامه، همواره دارای یک مقدار ثابت است بنابراین ممکن است بپرسید که چرا مستقیماً از آن مقدار در داخل کدها استفاده نکنیم؟ بعنوان مثال وقتی به عدد 20 نیاز داریم، چرا مستقیماً در داخل کدها از آن استفاده نکنیم و خود را به زحمت بیاندازیم و مثلا یک ثابت نام دار به نام NUMBER_OF_DEPTS بسازیم که حاوی عدد 20 باشد؟
چندین دلیل خوب برای استفاده از یک ثابت نام دار به جای استفاده از یک مقدار(لیترال) وجود دارد که عبارتند از:
1. با استفاده از یک ثابت نام دار، دلیل استفاده از عدد 20، بهتر مشخص می شود. زیرا در نام این ثابت از کلمات مرتبطی استفاده می شود. استفاده از ثابت های نام دار، باعث می شود تا درک و خواندن برنامه های شما آسان شود.
2. در صورتی که مثلا عدد 20 را بخواهید تغییر دهید، کافیست که فقط این مقدار را در ثابت NUMBER_OF_DEPTS تغییر دهید، سپس این مقدار در تمامی مکان هایی که از این ثابت نام دار استفاده کرده باشید، تغییر می کند. در غیر این صورت، باید در کدها به دنبال تمام اعداد 20 بگردید و یکی یکی آنها را تغییر دهید. این مزیت باعث می شود تا در زمان صرفه جویی کنید و از اشتباهات شما جلوگیری می کند.
3. حتی اگر بخواهید تا تمامی اعداد 20 را در داخل کدهای خود یکی یکی تغییر دهید، ممکن است یک عدد 20 دیگر را به اشتباه انتخاب کنید و تغییر دهید. استفاده از ثابت های نام دار، از این اشتباهات جلوگیری می کند.
4. استفاده از ثابت های نام دار، خطاهای تایپی را کاهش می دهد. مثلا اگر بخواهید عدد 20 را در چند مکان اضافه کنید، ممکن است اشتباهاً برای یکی از موارد، عدد 10 را وارد کنید.
5. هنگامی که شما از یک ثابت نام دار در یک عبارت استفاده می کنید، این ثابت نام دار را به راحتی می توان از متغیر ها تشخیص داد.
بعنوان مثال در عبارت محاسباتی زیر، ثابت ها و متغیرها را می توان به راحتی تشخیص داد زیرا ثابت ها با حروف بزرگ نوشته شده اند:
مثال
double payAmount = hoursWorked * STD_PAY_RATE – numDependents * DEDUCTION;
- نوشته شده توسط احسان عباسی
- بازدید: 6662