PHP OOP da statik usullar

PHPdagi xususiyatlar
PHP OOP da statik xususiyatlar

Ushbu qo'llanmada biz PHP OOP da statik usullar haqida ko'proq bilib olamiz. Biz statik usullar nima uchun mo'ljallanganligini, ulardan qachon foydalanishni, sintaksisni va statik va statik bo'lmagan usullar o'rtasidagi farqni muhokama qilamiz.

PHP da qanday statik usullar mavjud?

  • Statik usullar yordamida yaratiladi statik kalit so'z.
  • Sinfning statik usullari to'g'ridan-to'g'ri chaqiriladi. Bu shuni anglatadiki, biz uning statik usulini chaqirish uchun sinfning namunasini yaratishimiz shart emas.
  • Sinf statik va statik bo'lmagan usullarni o'z ichiga olishi mumkin.
  • Sinfning statik usulini chaqirish uchun biz qamrovni aniqlash operatoridan foydalanamiz ::

PHP da Statik usul sintaksisi

<?php
class ClassName {
  public static function method() {
    echo "Hello from PHP!";
  }
}
?>

Statik usulni chaqirish uchun sintaksis

ClassName::staticMethod();

misol

<?php
class Example {
  public static function greetings() {
    echo "Hello from PHP!";
  }
}

// Calling static method
Example::greetings();
?>
  • Yuqoridagi misolda biz statik usulni o'z ichiga olgan sinf yaratamiz.
  • Biz ushbu sinfning statik usulini miqyosni aniqlash usuli yordamida tashqarida chaqiramiz.

Sinf ichida statik usulni chaqirish - PHP

  • PHP da, o'z-o'zini kalit so'z sinf ichida o'zining statik usulini chaqirishga imkon beradi. Quyidagi misolga qarang, unda biz statik usul bilan sinf yaratamiz va uni sinf konstruktori ichida chaqiramiz.
  • o'z-o'zini::methodName() - bu sinf ichidagi statik usulni chaqirish uchun umumiy sintaksis.
<?php
class Example {
  public static function greetings() {
    echo "Hello from PHP!";
  }

  public function __construct() {
    self::greetings();
  }
}

new Example();
?>

Statik usulni boshqa sinfda chaqirish - PHP

Boshqa sinf ichida umumiy statik usulni chaqirishimiz mumkin bo'lgan statik usullardan foydalanish juda qiziq. Esda tutingki, bu umumiy statik usul bo'lishi kerak.

<?php
class Example{
  public static function greetings() {
    echo "Hello from PHP!";
  }
}

class Example2{
  public function msg() {
    Example::greetings();
  }
}
?>

Bolalar sinfida statik usulni chaqirish - PHP

Meros bo'lsa, biz bolalar sinfidagi ota-klassning statik usulini chaqirishimiz mumkin. ota-ona kalit so'z. Quyidagi misolga qarang.

<?php
class Example {
  protected static function getMessage() {
    return "Message from static method";
  }
}

class Child1 extends domain {
  public $name;
  public function __construct() {
    $this->name= parent::getMessage();
  }
}

$child1= new child1();
echo $child1-> name;
?>
  • Yuqoridagi misolda biz statik usul bilan ota-klass yaratamiz.
  • Also, we create another class that extends the parent class.
  • dan foydalanib, ota-klassning statik usulini chaqiring ota-ona kalit so'zdan keyin statik usul nomi.

Eslatma: As we mentioned in the previous section that calling a static method inside another class required it to be public. However, in the case of calling the static method of the parent class (inheritance), the static method access modifier can be ijtimoiy or himoyalangan.

Statik va statik bo'lmagan usullar o'rtasidagi farq

Statik usulStatik bo'lmagan usul
Statik usul ichida faqat sinfning yoki boshqa sinfning statik xususiyatlariga kirishimiz mumkin.Biz statik bo'lmagan usulda sinfning yoki boshqa sinfning statik va statik bo'lmagan xususiyatlariga kirishimiz mumkin.
Statik usul erta bog'lash yoki kompilyatsiya vaqtida bog'lashdan foydalanadi.Statik bo'lmagan usul dinamik yoki ish vaqti bog'lanishidan foydalanadi.
Statik usullar dasturni bajarish jarayonida holatni saqlab qoladi, shuning uchun erta bog'lanish tufayli ularni boshqa sinf tomonidan bekor qilib bo'lmaydi.Statik bo'lmagan usulning ish vaqti bog'lanishi yoki dinamik harakati tufayli biz ularni boshqa sinfda bekor qilishimiz mumkin.
Statik usulda xotirani taqsimlash samaraliroq, chunki u dastur bajarilgandan so'ng RAM ichidagi xotira blokini belgilaydi. Dastur tugaguniga qadar u buni hech qachon takrorlamaydi.Dinamik bog'lanish tufayli statik bo'lmagan usullar xotirani taqsimlashda unchalik samarali emas. Har safar statik bo'lmagan usul chaqirilganda, u xotirani ajratadi va usulning bajarilishi tugagandan so'ng ajratiladi.
Statik va statik bo'lmagan usul

Statik usulning rasmiy PHP hujjatlariga havola.

PHPdagi xususiyatlar
PHP OOP da statik xususiyatlar
en English
X
Top o'ting