我看不出为什么
BListener要延长的理由
AListener。
您是否真的要强迫每个对
B事件感兴趣的人也实施
event1()?
同样,您也不能添加
addAListener(),因为派生类无法降低父类中存在的方法的可见性。另外,您不需要这样做,否则会违反Liskov替换原则(每个B必须能够做A可以做的一切)。
最后,我要对
fire*()方法进行保护。通常没有任何理由让他们保持公开状态,减少公共成员的数量可以使您的公共界面保持整洁。

我看不出为什么
BListener要延长的理由
AListener。
您是否真的要强迫每个对
B事件感兴趣的人也实施
event1()?
同样,您也不能添加
addAListener(),因为派生类无法降低父类中存在的方法的可见性。另外,您不需要这样做,否则会违反Liskov替换原则(每个B必须能够做A可以做的一切)。
最后,我要对
fire*()方法进行保护。通常没有任何理由让他们保持公开状态,减少公共成员的数量可以使您的公共界面保持整洁。