上代码,这代码一运行就执行了$aLock->lock(); 根本就没有这条语句好吗。
class Lock {
      private $isLocked=false;
      public function unlock(){
        $this->isLocked=false;
        echo "You unlocked the Lock"."<br />";
      }
      public function lock(){
        $this->isLocked=true;
        echo "You locked the Lock"."<br />";
      }
      public function isLocked(){
        return $this->isLocked;
      }
    }
      $aLock=new Lock();
      var_dump($aLock->isLocked());
|  |      1minbaby      2014-10-14 12:14:47 +08:00  1 因为你的类名叫做 lock 同时你还有个叫做 lock 的方法 php 以兼容 php4 把你的 lock 当成构造函数了 | 
|  |      3jacob OP @minbaby  那这个构造函数是什么意思呢?它的参数放入一个Lock类,那是把Lock类赋值给Door的$lock了吗? class Door{ private $lock; private $connectsTo; public function __construct(Lock $lock){ $this->lock = $lock; } } | 
|  |      5jacob OP | 
|  |      10anewg      2014-10-14 15:37:30 +08:00 wamp提示的原因是你 Door 类的构造函数需要 Lock 类实例传入。跟 Lock 自身没关系 | 
|  |      11holystrike      2014-10-14 15:46:18 +08:00 | 
|      12kankana      2014-10-14 16:46:42 +08:00  1 $lock = new Lock(); $door = new Door($lock); |