PHP OOP - Statiese metodes
PHP - Statiese metodes
Statiese metodes kan direk genoem word - sonder om eers 'n instansie van die klas te skep.
Statiese metodes word verklaar met die static
sleutelwoord:
Sintaksis
<?php
class ClassName {
public static function staticMethod() {
echo "Hello World!";
}
}
?>
Om toegang tot 'n statiese metode te verkry, gebruik die klasnaam, dubbeldubbelpunt (::) en die metodenaam:
Sintaksis
ClassName::staticMethod();
Kom ons kyk na 'n voorbeeld:
Voorbeeld
<?php
class
greeting {
public static function
welcome() {
echo "Hello World!";
}
}
// Call static method
greeting::welcome();
?>
Voorbeeld Verduidelik
Hier verklaar ons 'n statiese metode: welkom(). Dan noem ons die statiese metode deur die klasnaam, dubbeldubbelpunt (::) en die metodenaam te gebruik (sonder om eers 'n instansie van die klas te skep).
PHP - Meer oor statiese metodes
'n Klas kan beide statiese en nie-statiese metodes hê. 'n Statiese metode kan verkry word vanaf 'n metode in dieselfde klas deur die self
sleutelwoord en dubbeldubbelpunt (::):
Voorbeeld
<?php
class greeting {
public static function welcome() {
echo "Hello World!";
}
public function __construct()
{
self::welcome();
}
}
new
greeting();
?>
Statiese metodes kan ook van metodes in ander klasse genoem word. Om dit te doen, moet die statiese metode wees public
:
Voorbeeld
<?php
class
greeting {
public static function
welcome() {
echo "Hello World!";
}
}
class
SomeOtherClass {
public function
message() {
greeting::welcome();
}
}
?>
Om 'n statiese metode van 'n kinderklas te noem, gebruik die parent
sleutelwoord binne die kinderklas. Hier kan die statiese metode public
of wees protected
.
Voorbeeld
<?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;
?>