OOP - ویژگی‌های Static

از موتو کد، دانشنامهٔ برنامه‌نویسی
Main Page Tutorial
Php-menu.png
موارد آموزشی
فرم‌ها در PHP
PHP پیشرفته
شیء گرایی در PHP
۱OOP چیست؟
۲کلاس‌ها و اشیاء
۳متد سازنده
۴متد نابودگر
۵مشخص کننده‌های دسترسی
۶ارث بری
۷ثابت‌های کلاس
۸کلاس‌های Abstract
۹Traits
۱۰متدهای Static
۱۱ویژگی‌های Static
پایگاه داده MySQL
XML در PHP
AJAX در PHP
مثال‌های PHP
مرجع PHP

ویژگی‌های static را می‌توان به صورت مستقیم فراخوانی کرد - بدون ساختن شیء از یک کلاس. [۱]

ویژگی‌های static با کلمه کلیدی static تعریف می‌شوند:

شیوه نوشتار[ویرایش | ویرایش]

<?php
class ClassName {
  public static $staticProp = "WikiCod";
}
?>

برای دسترسی به یک ویژگی static از نام کلاس، دو (::)، و نام ویژگی استفاده کنید:

شیوه نوشتار[ویرایش | ویرایش]

ClassName::staticProp();

بگذارید به یک مثال نگاهی بیندازیم:

مثال[ویرایش | ویرایش]

<?php
class pi {
  public static $value = 3.14159;
}

// Get static property
echo pi::$value;
?>


مشاهدهٔ نتیجه


توضیح مثال[ویرایش | ویرایش]

در اینجا، ما یک ویژگی Static تعریف کرده‌ایم: $value. سپس، ما مقدار ویژگی static را به وسیله نام کلاس، دو (::)، و نام ویژگی (بدون اینکه ابتدا از کلاس شیء بسازیم) را چاپ کرده‌ایم.

PHP - مطالب بیشتری در مورد ویژگی های Static[ویرایش | ویرایش]

یک کلاس می‌تواند هم ویژگی‌های Static و هم ویژگی‌های غیر static داشته باشد. یک ویژگی Static را می‌توان از یک متد درون کلاس یکسان با استفاده از کلمه کلیدی self و دو (::)، مورد دسترسی قرار داد.

مثال[ویرایش | ویرایش]

<?php
class pi {
  public static $value=3.14159;
  public function staticValue() {
    return self::$value;
  }
}

$pi = new pi();
echo $pi->staticValue();
?>


مشاهدهٔ نتیجه


برای فراخوانی یک ویژگی static از یک کلاس فرزند، از کلمه کلیدی parent درون کلاس فرزند استفاده کنید:

مثال[ویرایش | ویرایش]

<?php
class pi {
  public static $value=3.14159;
}

class x extends pi {
  public function xStatic() {
    return parent::$value;
  }
}

// Get value of static property directly via child class
echo x::$value;

// or get value of static property via xStatic() method
$x = new x();
echo $x->xStatic();
?>


مشاهدهٔ نتیجه



منابع آموزشی[ویرایش]