PHP에서 'Self'와 '$This'를 사용해야 하는 경우
PHP에서 'self'와 '$의 차이점 이해 이것이 결정적이다. '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()'
제압 다형성: 파생 클래스에서 'self'를 사용하여 상위 클래스 메서드 호출:
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!