【Practical API Design学习笔记】避免使用深层次继承

    Swing框架中的Frame类,间接继承了Component,其实是一个错误的设计。这样继承表示可以使用Component类的地方,都可以使用Frame对象,但是运行起来,估计未必可行。

    Frame之所以继承自Component,完全是出于实现该类的代码比较方便,只是想复用Component类中的一部分代码。这种误用在深层次继承中表现明显。

   因此,一旦发现继承体系超过两层,一定要打住。想想是在设计API还是在复用代码,如果是后者,那么要重新审视,并严格设计这个API。

你可能感兴趣的:(api)