Php/php oop static methods

来自菜鸟教程
跳转至:导航、​搜索

PHP OOP-静态方法

PHP-静态方法

可以直接调用静态方法-无需先创建类的实例。

静态方法使用 static 关键词:

句法

    <?php

    class ClassName {
  public static function staticMethod() {
    
    echo "Hello World!";
  }
}
?>

要访问静态方法,请使用类名,双冒号(::)和方法名:

句法

    ClassName::staticMethod();

我们来看一个例子:

    <?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 
    greeting {
  public static function 
    welcome() {
    echo "Hello World!";
  }
}


class 
    SomeOtherClass {
  public function 
    message() {
   
    greeting::welcome();
  }
}
?>

要从子类中调用静态方法,请使用 parent 子类中的关键字。在这里,静态方法可以是 public or 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;
?>