PHP OOP - 静的メソッド
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;
?>
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。