در زبان برنامهنویسی دارت، کلمه کلیدی static
برای تعریف ویژگیها یا متدهایی استفاده میشود که به جای اینکه به یک شیء خاص از کلاس تعلق داشته باشند، به خود کلاس تعلق دارند. این به این معنی است که شما میتوانید به ویژگیها یا متدهای static
بدون نیاز به ایجاد یک شیء از کلاس دسترسی پیدا کنید.
ویژگیهای static
:
- متغیرهای
static
: این متغیرها به خود کلاس تعلق دارند و مقدار آنها برای تمام اشیاء از کلاس یکسان است. - متدهای
static
: این متدها هم مشابه ویژگیهایstatic
هستند، به این معنی که میتوان آنها را بدون نیاز به ایجاد شیء از کلاس فراخوانی کرد.
مثال:
class MyClass {
// متغیر static
static int counter = 0;
// متد static
static void incrementCounter() {
counter++;
}
}
void main() {
// دسترسی به متغیر و متد static بدون نیاز به ایجاد شیء
print(MyClass.counter); // خروجی: 0
MyClass.incrementCounter();
print(MyClass.counter); // خروجی: 1
}
نکات:
- نمیتوان از متغیر یا متد
static
داخل یک شیء خاص از کلاس (یعنی از طریق شیء) دسترسی پیدا کرد، بلکه باید از طریق خود کلاس به آنها دسترسی پیدا کنید. - متدهای
static
نمیتوانند به ویژگیهای غیرstatic
دسترسی داشته باشند، چون آنها به یک شیء خاص نیاز دارند، اما متغیرهایstatic
میتوانند به متدهایstatic
دسترسی پیدا کنند.
کاربردها:
- شمارشگرها: برای ذخیره تعداد دفعاتی که یک متد خاص فراخوانی شده است.
- کمک به متدهای کمکی: متدهای
static
معمولاً برای انجام کارهای کمکی که نیاز به استفاده از اشیاء ندارند، استفاده میشوند.