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