PHP-静的メソッド
最初にクラスのインスタンスを作成せずに、静的メソッドを直接呼び出すことができます。
静的メソッドは、static
キーワード:
構文
<?php
class <em>ClassName</em> {
public static function <em>staticMethod</em>() {
echo "Hello World!";
}
}
?>
静的メソッドにアクセスするには、クラス名、ダブルコロン(::)、およびメソッド名を使用します。
構文
<em > ClassName</em > ::<em > staticMethod</em > ();
例を見てみましょう:
例
<?php
class greeting {
public static function welcome() {
echo "Hello World!";
}
}
// Call static method
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 A {
public static function welcome() {
echo "Hello World!";
}
}
class B {
public function message() {
A::welcome();
}
}
$obj = new B();
echo $obj -> message();
?>
自分で試してみる »
子クラスから静的メソッドを呼び出すには、子クラスの内部で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;
?>
自分で試してみる »