我遇到过基类实现接口的代码,然后所有子类也声明它们实现了这样的接口
class BaseClass implements Countable { public function count() {} }
class SubClass extends BaseClass implements Countable {}
假设缺少namespace
和use
陈述,对我来说,后者implements Countable
是令人震惊的。凭借扩展,它已经存在。
有人可能会说这使得子类implements Countable
无需查看基类就清楚了,但对我而言,重复的代码可能会导致更长的重构时间(尽管是标称的)。
这种做法是出于任何原因被认为是好的形式,还是我的预感是正确的?