理解PHP 5 中'self' 和'$this' 之間的區別
在PHP 5 中進行物件導向程式設計時,有效地掌握使用「self」和「$this」之間的區別至關重要。兩者都是引用,但在物件互動中具有不同的用途。
'$this' - 引用目前物件
使用 '$this' 存取非靜態成員物件目前實例中的變數和方法。它提供了指向正在實例化的特定物件的直接指標。 '$this->member' 語法可讓您存取非靜態變量,而 '$this->method()' 則呼叫實例方法。
範例:
class Person { private $name; public function __construct($name) { $this->name = $name; } public function getName() { return $this->name; } }
在此範例中,'$this' 用於存取'name' 屬性和'getName()' 方法'Person' 對象。
'self' - 引用當前類別
相反,'self' 用於存取當前類別中的靜態成員和方法。它指的是類別本身,而不是類別的特定實例。 'self::$static_member' 語法允許存取靜態變量,而 'self::static_method()' 呼叫類別方法。
範例:
class StaticCounter { private static $count = 0; public static function incrementCount() { self::$count++; } public static function getCount() { return self::$count; } }
這裡,「self」用於存取靜態「count」變數和「incrementCount()」類別方法'StaticCounter' 類別。
結論
理解 'self' 和 '$this' 的正確用法對於 PHP 5 中有效的物件導向程式設計至關重要。 ' $this' 針對目前物件的非靜態成員,而 'self' 則著重於目前類別的靜態成員。透過掌握這些區別,您可以在使用類別和物件時增強程式碼的清晰度和功能性。
以上是PHP 5 物件導向程式設計中「self」和「$this」有什麼不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!