教程里$obj instanceof ICanEat{}中的$obj其实不一定要写$obj,可以写任何的变量比如$abc之类。
因为【每次进入方法体】,系统内存会【新建】一个内存栈区,如果无特定指明(即加上&),【新的内存栈区】并【不认识】$obj是谁,因为在它的栈区内并没有$obj这个函数,除非特定指明加上& 。
所以教程里的
function checkEat($obj){
if($obj instanceof ICanEat)
{ $obj->eat('food');
}
}
中的$obj可以改写成$abc或者任何你喜欢的东西。
因为【每次进入方法体】,系统内存会【新建】一个内存栈区,如果无特定指明(即加上&),【新的内存栈区】并【不认识】$obj是谁,因为在它的栈区内并没有$obj这个函数,除非特定指明加上& 。
所以教程里的
function checkEat($obj){
if($obj instanceof ICanEat)
{ $obj->eat('food');
}
}
中的$obj可以改写成$abc或者任何你喜欢的东西。
2016-04-12