PHP 정적 함수의 $this 문제

WBOY
풀어 주다: 2016-10-23 23:59:57
원래의
1047명이 탐색했습니다.

A등급{

<code>    public $age = 50;
    private $money = 2000;
    static public $head = 1;
    public function tell(){
            echo $this->age,'<br />';
            echo self::$head,'<br />';
    }
    static public function sayMoney(){
            echo $this->money,'<br />';
    }</code>
로그인 후 복사

}
클래스 B가 A를 확장합니다.{

<code>    public $age = 22;
    private $money = 10;
    public function subtell(){
            parent::tell();
            echo $this->age,'<br />';
    }
    public function subMoney()
    {
            parent::sayMoney();
            echo $this->money,'<br />';

    }</code>
로그인 후 복사

}

$b = new B();
$b->subtell();//22 1 22;

에코'


';
$b->subMoney();

마지막 문장에서는 객체 컨텍스트에 없을 때 $this를 사용하면 오류가 발생한다고 보고합니다
그러나 $this는 subMoney()가 호출될 때 바인딩되지 않습니다. $this는 b 객체를 가리키고 parent::sayMoney()가 실행됩니다. $this는 바인딩되지 않습니다. sayMoney()가 실행될 때 왜 오류가 발생합니까? 이전 $b-> subtell() 호출과 차이점이 무엇인가요?

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿