자체 대 $this: 각 사용 시기 및 방법
질문:
PHP 5에서 "self"와 "$this" 키워드의 사용법은 어떻게 다릅니까? 각각은 언제 적절하게 사용해야 합니까?
답변:
짧은 답변:
"$this"를 사용하여 참조하세요. 현재 객체의 인스턴스 변수와 메소드. 현재 클래스의 정적 변수 및 메서드를 참조하려면 "self"를 사용하세요.
정답:
비정적 멤버와 정적 멤버:
다형성:
예(올바른 사용법):
class X { private $non_static_member = 1; private static $static_member = 2; function __construct() { echo $this->non_static_member . ' ' . self::$static_member; } } new X(); // Output: 1 2
예(잘못된 사용법):
class X { private $non_static_member = 1; private static $static_member = 2; function __construct() { echo self::$non_static_member . ' ' . $this->static_member; // Incorrect usage } } new X(); // Error: Undefined properties
다형성 억제:
class X { function foo() { echo 'X::foo()'; } function bar() { self::foo(); // Suppresses polymorphism } } class Y extends X { function foo() { echo 'Y::foo()'; } } $x = new Y(); $x->bar(); // Output: X::foo()
요약:
"$ 사용 비정적 멤버 액세스 및 다형성의 경우 this"입니다. 정적 멤버 액세스 및 다형성을 억제해야 하는 경우 "self"를 사용하세요.
위 내용은 PHP 5: `$this` 대 `self` - 언제 각각을 사용해야 할까요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!