PHP ООП - Статичні методи
PHP - Статичні методи
Статичні методи можна викликати напряму - без попереднього створення екземпляра класу.
Статичні методи оголошуються за допомогою ключового слова static
:
Синтаксис
<?php
class ClassName {
public static function staticMethod() {
echo "Hello World!";
}
}
?>
Для доступу до статичного методу використовуйте назву класу, подвійну двокрапку (::) та назву методу:
Синтаксис
ClassName::staticMethod();
Давайте подивимось на приклад:
Приклад
<?php
class greeting {
public static function welcome() {
echo "Hello World!";
}
}
// Викликати статичний метод
greeting::welcome();
?>
Спробуйте самі »
Пояснення прикладу
Тут ми оголошуємо статичний метод: welcome(). Потім ми викликаємо статичний метод, використовуючи назву класу, подвійну двокрапку (::) і назву методу (без створення екземпляра класу).
PHP - Більше прикладів статичних методів
Клас може мати як статичні, так і нестатичні методи. Доступ до статичного методу можна отримати з методу того самого класу за допомогою ключового слова self
і подвійної двокрапки (::):
Приклад
<?php
class greeting {
public static function welcome() {
echo "Hello World!";
}
public function __construct() {
self::welcome();
}
}
new greeting();
?>
Спробуйте самі »
Статичні методи також можна викликати з методів інших класів. Для цього слід використовувати статичний метод public
:
Приклад
<?php
class greeting {
public static function welcome() {
echo "Hello World!";
}
}
class SomeOtherClass {
public function message() {
greeting::welcome();
}
}
?>
Спробуйте самі »
Щоб викликати статичний метод із дочірнього класу, використовуйте ключове слово parent
у дочірньому класі. Тут може бути статичний метод public
або protected
.
Приклад
<?php
class domain {
protected static function getWebsiteName() {
return "W3Schools.com";
}
}
class domainW3 extends domain {
public $websiteName;
public function __construct() {
$this->websiteName = parent::getWebsiteName();
}
}
$domainW3 = new domainW3;
echo $domainW3 -> websiteName;
?>
Спробуйте самі »