php 静态变量可以多个子类共享,PHP:子类静态继承 – 子共享静态变量?

正如你在下面看到的,我有一个超类(文章)和两个子类.我希望每个子类都有一个静态数组,它可以保存所有它的对象.

abstract class Article

{

public static $articles = array(); // Variable for storing all the objects of each sub-class.

public function add_Object_To_Array()

{

array_push(self::$articles, $this);

}

}

class Report extends Article{}

class Interview extends Article{}

– 制作两个Report对象并将它们添加到数组中:

$tmp = new Report();

$tmp->add_Object_To_Array();

$tmp = new Report();

$tmp->add_Object_To_Array();

– 制作两个Interview对象并将它们添加到数组中:

$tmp = new Interview();

$tmp->add_Object_To_Array();

$tmp = new Interview();

$tmp->add_Object_To_Array();

print_r(Report::$articles);

print_r(Interview::$articles);

– 上面的脚本吐出了两个arays:

Array

(

[0] => Report Object()

[1] => Report Object()

[2] => Interview Object()

[3] => Interview Object()

)

Array

(

[0] => Report Object()

[1] => Report Object()

[2] => Interview Object()

[3] => Interview Object()

)

如果你问我,它看起来非常相似,但第一个应该只包含Reports,第二个只包含Interviews.

1.似乎只有一个数组,为什么它只有一个数组?

2.我在同一个类中有一个静态容器对象,这是不好的编码? (有什么建议?)

我对php很新,但有java的背景知识.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值