何時在PHP 中使用'Self' 和'$This'
在PHP 中,了解'self' 和'$This ' 之間的區別這一點至關重要。 'Self' 指的是當前類,而 '$this' 指的是當前物件。
何時使用 'Self':
存取靜態成員(變數或方法):
class MyClass { static $static_member = 10; } echo MyClass::$static_member; // Output: 10
呼叫父類別方法:
class ChildClass extends ParentClass { public function myMethod() { self::parentMethod(); // Calls the parent class method } }
何時使用'$This':
正在存取非靜態成員:
class MyClass { private $instance_member = 20; } $obj = new MyClass(); echo $obj->instance_member; // Output: 20
呼叫實例方法:
class MyClass { public function myMethod() { echo $this->instance_member; // Accesses the instance member } }
class BaseClass { public function myMethod() { echo 'BaseClass::myMethod()'; } } class DerivedClass extends BaseClass { override public function myMethod() { echo 'DerivedClass::myMethod()'; } } $baseObj = new BaseClass(); $derivedObj = new DerivedClass(); $baseObj->myMethod(); // Output: 'BaseClass::myMethod()' $derivedObj->myMethod(); // Output: 'DerivedClass::myMethod()'
class BaseClass { public function myMethod() { echo 'BaseClass::myMethod()'; } } class DerivedClass extends BaseClass { override public function myMethod() { parent::myMethod(); // Calls the BaseClass's myMethod() using self:: } } $derivedObj = new DerivedClass(); $derivedObj->myMethod(); // Output: 'BaseClass::myMethod()'
以上是PHP `self` 與 `$this`:何時分別使用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!