【发布时间】:2020-09-15 13:08:39
【问题描述】:
我知道一种向类添加静态计数器以计算该类实例数的模式
class Vehicle
{
private static $_count=0;
public static function getCount() {
return self::$_count;
}
public function __construct()
{
self::$_count++;
}
}
我想做的是向 Vehicle 添加几个子类并独立计算这些子类的实例
class Bike extends Vehicle
{
...
}
class Car extends Vehicle
{
...
}
所以调用Bike::getCount() 和Car::getCount() 将分别得到Bikes 和Cars 的数量
如果没有
这可能吗- 在子类中重复代码?
- 在超类中设置某种以类名为键的计数数组?
【问题讨论】:
-
明确违反单一责任原则。类不得计算自身的实例。创建另一个类,该类将包含任何项目的集合。
标签: php inheritance static