解釋 PHP 中的靜態方法和例項方法。


在 PHP 中,例項方法比靜態方法更受歡迎。但是,這並不是說靜態方法沒有用,它們有其獨特的用途。這裡我們討論了 PHP 中靜態方法和例項方法之間的比較。

請注意,例項方法始終與類的物件相關聯,而靜態方法始終與類相關聯。

首先討論靜態方法。PHP 中的靜態方法與其他面向物件程式語言中的靜態方法相同。在 PHP 中使用靜態方法的重要情況。僅當特定資訊對整個類保持不變時,才需要使用靜態方法。本質上,當要訪問該方法而無需藉助該類的物件時,就會使用靜態方法。

示例

<?php
   class Car{
      static function getColor(){
         return "blue";
      }
   }
   echo (Car::getColor());
?>

輸出

blue

解釋

例如,在上面的程式中,一些程式設計師正在建立關於汽車的資訊,並且其中有一個 Car 類,並且有一個 getColor() 函式來定義汽車的顏色,因此每個需要 getColor() 函式的物件都返回與 Car 類所有物件相同的顏色,因此在這種情況下,我們可以將 getColor() 方法設為靜態方法。

讓我們討論例項方法。當無法在不建立物件的情況下呼叫方法時,就會使用例項方法。此外,每當方法需要與類的屬性互動時,都需要例項方法。

示例

讓我們用一個例子來說明上述情況

<?php
   class Employee{
      private $empname;
      function setEmpname($empname) {
         $this->empname = $empname;
      }
      function getEmpname() {
         return $this -> empname;
      }
   }
   $obj = new Employee;
   $obj -> setEmpname("Alex");
   echo $obj -> getName();
?>

輸出

Alex

解釋

考慮一個 Employee 類,其中 setEmpname() 讀取僱員姓名,而 getEmpname() 方法返回僱員的姓名。在這種情況下,每個僱員的姓名都不同,因此我們不能將 getEmpname() 或 setEmploye() 方法宣告為靜態方法,因為每次這些方法都會與變數“$empname”互動。

更新於: 2019-12-31

623 次瀏覽

啟動你的 職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.