PHP – خواص استاتیک (Static Properties)
PHP - خواص استاتیک (Static Properties) چیستند؟
خواص استاتیک (Static Properties) میتوانند مستقیماً فراخوانی شوند – بدون ایجاد یک نمونه از کلاس.
خواص استاتیک (Static Properties) با استفاده از کلمه کلیدی static
اعلام میشوند:
نحو (Syntax)
<?php
class ClassName {
public static $staticProp = "W3Schools";
}
?>
برای دسترسی به یک خاصیت استاتیک (Static Property) از نام کلاس، دو نقطه (::) و نام خاصیت استفاده کنید:
نحو (Syntax)
ClassName::$staticProp;
مثال (Example)
<?php
class pi {
public static $value = 3.14159;
}
// دریافت خاصیت استاتیک (Static Property)
echo pi::$value;
?>
توضیح مثال (Example Explained)
اینجا، ما یک خاصیت استاتیک (Static Property) به نام $value
اعلام میکنیم. سپس، ما مقدار خاصیت استاتیک (Static Property) را با استفاده از نام کلاس، دو نقطه (::) و نام خاصیت اکو میکنیم (بدون ایجاد یک نمونه از کلاس).
بیشتر درباره خواص استاتیک (Static Properties)
یک کلاس میتواند هم خواص استاتیک (Static Properties) و هم غیر استاتیک (Non-Static Properties) داشته باشد. یک خاصیت استاتیک (Static Property) میتواند از یک متد در همان کلاس با استفاده از کلمه کلیدی self
و دو نقطه (::) دسترسی پیدا کند:
مثال (Example)
<?php
class pi {
public static $value = 3.14159;
public function staticValue() {
return self::$value;
}
}
$pi = new pi();
echo $pi->staticValue();
?>
فراخوانی خاصیت استاتیک (Static Property) از کلاس فرزند (Child Class)
برای فراخوانی یک خاصیت استاتیک (Static Property) از یک کلاس فرزند (Child Class)، از کلمه کلیدی parent
در داخل کلاس فرزند استفاده کنید:
مثال (Example)
<?php
class pi {
public static $value = 3.14159;
}
class x extends pi {
public function xStatic() {
return parent::$value;
}
}
// دریافت مقدار خاصیت استاتیک (Static Property) به طور مستقیم از طریق کلاس فرزند
echo x::$value;
// یا دریافت مقدار خاصیت استاتیک (Static Property) از طریق متد xStatic()
$x = new x();
echo $x->xStatic();
?>
برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید. صفحه ورود و ثبت نام