PHP self parent

self 和 parent 都是表示当前类的作用域,而不仅仅是某个类的实例的作用域

self 和 parent 的区别是:

self不知道自己在类的继承关系中的位置,如果基类中的方法被重写,self::function  总是指向当前子类的function,如果没有被重写,那调用的就是基类的方法。

parent就是在子类重写了父类的方法时,用来调用父类中的那个方法。


class MyObject{
	function baseMethod(){
		echo "declared in parent class!!!";
	}
}

class MySubObject extends MyObject{
	function subMethod(){
		echo "output sub class !!!";
		self::baseMethod();
	}
}
MySubObject::subMethod();

//$m = new MySubObject();
//$m->subMethod();


posted @ 2012-10-16 16:56  lein.wang  Views(103)  Comments(0)    收藏  举报