3 回答
![?](http://img1.sycdn.imooc.com/5333a0350001692e02200220-100-100.jpg)
TA贡献1786条经验 获得超13个赞
我是用静态变量来做的。我的课程现在是这样的:
class Parent {
protected static $array = [];
public function __construct() {
}
public function add($value) {
self::$array[] = $value;
}
public function get() {
return self::$array;
}
}
class Child extends Parent {
public function __construct() {
}
}
当我测试它时,我得到了我所期望的:
$parent = new Parent;
$parent->add('a');
$parent->add('b');
$parent->add('c');
$child = new Child;
$child->add('d');
var_dump($parent->show()); // outputs array('a', 'b', 'c', 'd')
var_dump($child->show()); // outputs array('a', 'b', 'c', 'd')
![?](http://img1.sycdn.imooc.com/5458464a00013eb602200220-100-100.jpg)
TA贡献2051条经验 获得超10个赞
似乎扩展课程不是您想要在这里做的。
您应该阅读有关类和对象之间的区别。也许您应该先做一个通用的OOP教程。
如果要在类的实例之间共享静态变量,则需要使用静态变量。
- 3 回答
- 0 关注
- 155 浏览
添加回答
举报