PHP中的$this到底指向谁?

实例代码:

class A {
	public function test(){
		echo '
';
		var_dump($this);
		echo '
'; $this->testB(); } } class B extends A { private $flag = 'B'; public function testA(){ die('testA'); } public function testB(){ $this->testA(); } } $b = new B(); $b->test();

运行结果:

PHP中的$this到底指向谁?_第1张图片

代码说明:

1、B继承了A,所以B的实例可以访问test方法。

2、在A中的$this此时代表的是B的实例(由运行的结果可以看出),所以在A的test方法中$this可以访问B的testB方法(因为$this是B的实例)。

结论:

1、$this指向哪个对象实例是根据上下文来决定的,我是这样认为的不知道是否正确。

你可能感兴趣的:(php,知识点,代码小册子)